#spring #cloud ⛅️ #study
Сейчас прохожусь по изученном ранее Spring Cloud Config, нашёл для себя прикольный инструмент:
@EventListener
метод с аргументом (RefreshScopeRefreshedEvent e), который может выполнять какую-либо нагрузку, при обновлении конфигурации приложения (без перезапуска), как минимум можно залоггировать 🤷♂️
Сейчас прохожусь по изученном ранее Spring Cloud Config, нашёл для себя прикольный инструмент:
@EventListener
метод с аргументом (RefreshScopeRefreshedEvent e), который может выполнять какую-либо нагрузку, при обновлении конфигурации приложения (без перезапуска), как минимум можно залоггировать 🤷♂️
#git #docker #gradle #study #daily
Эта неделя была посвящена GitLab CI/CD
Рабочая задача: при коммите запускать Pipeline на сборку дистрибутива, далее передавать в следующий Job на сборку docker-image с последующим push в GitLab Registry
Далее, через другой сервис будем брать docker image и запускать на средах.
Дольше всего, наверное, я боролся с тем, как прокинуть версию дистрибутива из вне к Gradle -> Docker build --tag -> Dockerfile
Подборочка полезной информации:
- Что такое GitLab CI/CD на популярном примере, основы
- Чудесная официальная документация
- Habr gitlab ci/cd best practice
- Отличный разбор Gitlab CI и Docker
- Короткий плейлист по GitLab
Эта неделя была посвящена GitLab CI/CD
Рабочая задача: при коммите запускать Pipeline на сборку дистрибутива, далее передавать в следующий Job на сборку docker-image с последующим push в GitLab Registry
Далее, через другой сервис будем брать docker image и запускать на средах.
Дольше всего, наверное, я боролся с тем, как прокинуть версию дистрибутива из вне к Gradle -> Docker build --tag -> Dockerfile
Подборочка полезной информации:
- Что такое GitLab CI/CD на популярном примере, основы
- Чудесная официальная документация
- Habr gitlab ci/cd best practice
- Отличный разбор Gitlab CI и Docker
- Короткий плейлист по GitLab
#debug #gradle #docker #study #recommendation
Топовый и простой how-to по Debug: https://youtu.be/IeUZZoZE3sU
Наткнулся на канал Tom Gregory 👍 при поиске Gradle + Docker plugin, что не менее "топовый": https://youtu.be/SzFYHB0l0jk
+ Gradle Best practice playlist: https://youtube.com/playlist?list=PL0UJI1nZ56yAHv9H9kZA6vat4N1kSRGis
Топовый и простой how-to по Debug: https://youtu.be/IeUZZoZE3sU
Наткнулся на канал Tom Gregory 👍 при поиске Gradle + Docker plugin, что не менее "топовый": https://youtu.be/SzFYHB0l0jk
+ Gradle Best practice playlist: https://youtube.com/playlist?list=PL0UJI1nZ56yAHv9H9kZA6vat4N1kSRGis
YouTube
Debug Java Like a Pro in IntelliJ IDEA
Understanding how to debug applications is an essential skill for Java developers. Learn how the pros debug using these awesome IntelliJ IDEA features, so you can easily fix any bugs.
Debug video overview 0:00
Why debug? 0:28
Example "Battleship" game 1:47…
Debug video overview 0:00
Why debug? 0:28
Example "Battleship" game 1:47…
#study
ВНИМАНИЕ: очень субъективно
Что-то удалил, что-то переместил
Мои плейлисты YouTube:
- в личных листах какая-то избранная для меня информация
- есть множество добавленных сохраненных плейлистов
ВНИМАНИЕ: очень субъективно
Что-то удалил, что-то переместил
Мои плейлисты YouTube:
- в личных листах какая-то избранная для меня информация
- есть множество добавленных сохраненных плейлистов
#daily #study #logg
В планах обвязать микросервисы ELK-стеком для централизации логов:
- elasticsearch
- logstash
- kibana
Конец рабочего дня порадовал, так как получилось поднять эти сервисы, и прокинуть до kibana логи 🥳🎉
Чувствую себя победителем 😅, хотя я еще в самом начале изучения этой темы
Большая лекция в двух частях:
- https://youtu.be/Jz5xqKO4Aa8
- https://youtu.be/DRYsqWkI0ck
Грабельки с реального проекта, краткая выжимка по теме логгирования:
- https://youtu.be/j-i3NQiKbcc
В планах обвязать микросервисы ELK-стеком для централизации логов:
- elasticsearch
- logstash
- kibana
Конец рабочего дня порадовал, так как получилось поднять эти сервисы, и прокинуть до kibana логи 🥳🎉
Чувствую себя победителем 😅, хотя я еще в самом начале изучения этой темы
Большая лекция в двух частях:
- https://youtu.be/Jz5xqKO4Aa8
- https://youtu.be/DRYsqWkI0ck
Грабельки с реального проекта, краткая выжимка по теме логгирования:
- https://youtu.be/j-i3NQiKbcc
22 сентября #study #meetup
Ссылка на бесплатную онлайн-конференецию JUG-EKB со спикерами из Naumen
https://jugekb.ru/elementary3?utm_source=email&utm_medium=conferences&utm_campaign=jugekb.junior
Ссылка на бесплатную онлайн-конференецию JUG-EKB со спикерами из Naumen
https://jugekb.ru/elementary3?utm_source=email&utm_medium=conferences&utm_campaign=jugekb.junior
jugekb.ru
JUG.EKB.elementary #3
#study #gradle
https://youtu.be/2roToBBsmWY
Jib - плагин от google для создания docker-image
Сравнение Jib vs. Spring Boot плагинов для Docker images
FAQ | GRADLE START | MVN START
https://youtu.be/2roToBBsmWY
Jib - плагин от google для создания docker-image
Сравнение Jib vs. Spring Boot плагинов для Docker images
FAQ | GRADLE START | MVN START
YouTube
No more Dockerfile with Jib + Spring Boot plugin
Are you still using a Dockerfile to build your application's Docker image?
Don't waste your effort any longer by using the Jib and Spring Boot plugins to generate the image for you. You'll use less storage and save time thanks to layering support. In this…
Don't waste your effort any longer by using the Jib and Spring Boot plugins to generate the image for you. You'll use less storage and save time thanks to layering support. In this…
6 сентября #study #meetup
Очередная порция докладов на базе JUG.RU, на сей раз от РОСБАНК.
3 небольших доклада
Регистрация на онлайн-митап, бесплатно
Очередная порция докладов на базе JUG.RU, на сей раз от РОСБАНК.
3 небольших доклада
Регистрация на онлайн-митап, бесплатно
#kotlin #study
Хотел как-то написать о том, как обходиться в Kotlin без любимого Lombok <3, даже подготовил несколько ссылок на статейки:
- medium
- jworks
Суть в том, что для Kotlin Project Lombok и не нужен (почти все сводится к data class), как вдруг выходит обнова 1.7.20, в котором вводят поддержку аннотаций (правда не всех: на данный момент открыто голосование за
Release Notes: What's new in Kotlin 1.7.20 из которого понятно, что актуальность в статье-шпаргалке о том, как правильно создавать
PS: Забавно, что в резюме кандидаты уровня mid пишут в ключевых навыках - владение Lombok 😑 Какая любимая аннотация?
Хотел как-то написать о том, как обходиться в Kotlin без любимого Lombok <3, даже подготовил несколько ссылок на статейки:
- medium
- jworks
Суть в том, что для Kotlin Project Lombok и не нужен (почти все сводится к data class), как вдруг выходит обнова 1.7.20, в котором вводят поддержку аннотаций (правда не всех: на данный момент открыто голосование за
@Builder
)Release Notes: What's new in Kotlin 1.7.20 из которого понятно, что актуальность в статье-шпаргалке о том, как правильно создавать
@Entity
в Kotlin еще осталась. Будет полезно для рабочих процессов в том числе.PS: Забавно, что в резюме кандидаты уровня mid пишут в ключевых навыках - владение Lombok 😑 Какая любимая аннотация?
Medium
Kotlin Makes Lombok Obsolete
How to migrate from Lombok to Kotlin
#daily #study
Рабочая задача: выдать запрос на подписание сертификатов, внедрить подписанные сертфикаты в приложения.
Вот хорошая подборочка про TLS/SSL:
1. Что такое SSL-сертификат, зачем он нужен и где его взять (5 мин)
2. Протоколы TLS/SSL | Защищенные сетевые протоколы от Андрея Созыкина
3. На сладенькое веселый ролик от Merion: HTTP или HTTPS – как работает и в чем разница?
Рабочая задача: выдать запрос на подписание сертификатов, внедрить подписанные сертфикаты в приложения.
Вот хорошая подборочка про TLS/SSL:
1. Что такое SSL-сертификат, зачем он нужен и где его взять (5 мин)
2. Протоколы TLS/SSL | Защищенные сетевые протоколы от Андрея Созыкина
3. На сладенькое веселый ролик от Merion: HTTP или HTTPS – как работает и в чем разница?
YouTube
Что такое SSL-сертификат, зачем он нужен и где его взять
Видео о том, как настроить HTTPS для сайтов на базе WordPress: https://youtu.be/cisxNo4nA84
SSL-сертификат — это цифровая подпись вашего сайта. Без SSL-сертификата вы не сможете настроить HTTPS, защищенный протокол передачи данных от сайта к пользователю…
SSL-сертификат — это цифровая подпись вашего сайта. Без SSL-сертификата вы не сможете настроить HTTPS, защищенный протокол передачи данных от сайта к пользователю…
This media is not supported in your browser
VIEW IN TELEGRAM
#study
Интересовался линтером от JetBrains - Qodana
https://www.jetbrains.com/help/qodana/getting-started.html#Next+steps
в итоге нашёл вакансию на HH от JB на этот проект, забавно.
https://youtu.be/_3ErSoKsoNQ
https://hh.ru/vacancy/42599338?from=share_ios
Кстати, кто-то использует TeamCity в CI, есть отзывы?
Интересовался линтером от JetBrains - Qodana
https://www.jetbrains.com/help/qodana/getting-started.html#Next+steps
в итоге нашёл вакансию на HH от JB на этот проект, забавно.
https://youtu.be/_3ErSoKsoNQ
https://hh.ru/vacancy/42599338?from=share_ios
Кстати, кто-то использует TeamCity в CI, есть отзывы?
#study #kotlin #reactive
«... Корутины нужны для асинхронных задач, которые ожидают чего-либо большую часть времени. Потоки для интенсивных CPU задач.»
Несколько недель вкатываюсь в корутины.
Вводный roadmap по теме:
1. Что это вообще такое, «корутины»? [habr]
2. Введение от «создателя» Романа Елизарова, доклад «Корутины на сервере» [yt]
☝️ Роман == concurrency магистр; куча докладов, блог на medium.com
3. Корутины - must have в мобильной разработке, поэтому через android к знаниям; курс от Android Broadcast [yt playlist]
4. Продолжаем смотреть на корутины через android. Формат «хаотичное изучение» от Redmadrobot (Костя, привет!) в трех частях [yt]:
- Часть 1
- Часть 2
- Часть 3
5. Ок, ладно. Зачем мне это на сервере?
«Kotlin Coroutine + Spring Webflux. От идеи до продакшена» [yt] - описан case использования и разница в реализации, начиная от java+webMVC до kotlin+webFlux
Знакомимся с понятияем реактивного/non-blocking подхода в medium статье от Кирилла
☝️ Еще можно глянуть плейлист «Reactive programming with Java» [yt playlist], или для ленивых 34 Creating a reactive Spring Boot app
6. Хорошо, можно попробовать переписать родненький starter MVC на что-то реактивное. В докладе Asynchronous Programming with Kotlin Coroutines in Spring [yt] как раз это и делают - GitHub
Цикл статей на habr про адаптацию приложений к реактивному стеку
7. *Kotlin Coroutines in Practice by Roman Elizarov [yt]
Офдок, конечно же, в самом конце - coroutines guide (JB)
Тема довольно большая, в том числе вопросы как быть с блокирующим open feign клиентом, которого так много в рабочих приллах (брать стороннюю библиотеку); если уж топить, то смотрим r2dbc реактикный клиент для работы с БД
«... Корутины нужны для асинхронных задач, которые ожидают чего-либо большую часть времени. Потоки для интенсивных CPU задач.»
Несколько недель вкатываюсь в корутины.
Вводный roadmap по теме:
1. Что это вообще такое, «корутины»? [habr]
2. Введение от «создателя» Романа Елизарова, доклад «Корутины на сервере» [yt]
3. Корутины - must have в мобильной разработке, поэтому через android к знаниям; курс от Android Broadcast [yt playlist]
4. Продолжаем смотреть на корутины через android. Формат «хаотичное изучение» от Redmadrobot (Костя, привет!) в трех частях [yt]:
- Часть 1
- Часть 2
- Часть 3
5. Ок, ладно. Зачем мне это на сервере?
«Kotlin Coroutine + Spring Webflux. От идеи до продакшена» [yt] - описан case использования и разница в реализации, начиная от java+webMVC до kotlin+webFlux
Знакомимся с понятияем реактивного/non-blocking подхода в medium статье от Кирилла
6. Хорошо, можно попробовать переписать родненький starter MVC на что-то реактивное. В докладе Asynchronous Programming with Kotlin Coroutines in Spring [yt] как раз это и делают - GitHub
Цикл статей на habr про адаптацию приложений к реактивному стеку
7. *Kotlin Coroutines in Practice by Roman Elizarov [yt]
Офдок, конечно же, в самом конце - coroutines guide (JB)
Тема довольно большая, в том числе вопросы как быть с блокирующим open feign клиентом, которого так много в рабочих приллах (брать стороннюю библиотеку); если уж топить, то смотрим r2dbc реактикный клиент для работы с БД
#study #hotkeys
Часто в спортзале слушаю подкасты, например последний:
https://youtu.be/ajZD5IDD72M
Если коротко в двух пунктах:
1. Слепая печать, а лучше 10-ти пальцевый набор - must have
2. Горячие клавиши нужны, используйте их.
Так вот забавно, что по двум этим темам у меня есть посты:
1. https://t.me/thewayofjavajunior/270
2. https://t.me/thewayofjavajunior/264
В подкасте услышал про такой плагин IDE Features Trainer, в котором можно пощупать среду разработки, посмотреть что может.
Советую тем, кто только знакомится с Idea, либо любопытным.
Часто в спортзале слушаю подкасты, например последний:
https://youtu.be/ajZD5IDD72M
Если коротко в двух пунктах:
1. Слепая печать, а лучше 10-ти пальцевый набор - must have
2. Горячие клавиши нужны, используйте их.
Так вот забавно, что по двум этим темам у меня есть посты:
1. https://t.me/thewayofjavajunior/270
2. https://t.me/thewayofjavajunior/264
В подкасте услышал про такой плагин IDE Features Trainer, в котором можно пощупать среду разработки, посмотреть что может.
Советую тем, кто только знакомится с Idea, либо любопытным.
#recommendation #study #database
Досмотрел курс DMdev по Hibernate.
Когда возникает вопрос, идущий по теме - он тут же поднимается и раскрывается. Материал, словно книга: логично, последовательно - это прямо ❤️
Думаю глянуть BASH, может JUnit
Жаль, с автором познакомился недавно. Для тех, кто вкатывается есть прямо roadmap из курсов: JAVA CORE 1, JAVA CORE 2, SQL, JDBC и далее до SPRING
Кто-то смотрел от него еще что-то?
https://taplink.cc/denis.dmdev
https://t.me/dmdev_talks
https://www.youtube.com/c/dmdev/playlists
Досмотрел курс DMdev по Hibernate.
Когда возникает вопрос, идущий по теме - он тут же поднимается и раскрывается. Материал, словно книга: логично, последовательно - это прямо ❤️
Думаю глянуть BASH, может JUnit
Жаль, с автором познакомился недавно. Для тех, кто вкатывается есть прямо roadmap из курсов: JAVA CORE 1, JAVA CORE 2, SQL, JDBC и далее до SPRING
Кто-то смотрел от него еще что-то?
https://taplink.cc/denis.dmdev
https://t.me/dmdev_talks
https://www.youtube.com/c/dmdev/playlists
Udemy
Hibernate
Java, SQL, JDBC, Gradle, JUnit5
#study #jpa
Писал не так давно энтики для таблицы логов, с полем создания и полем последнего обновления;
православно, в @Entity метку создания инициировал сразу прямо в поле, а в сервисном методе аля ‘save’ обновлял дату изменения.
Наткнулся на конфигурацию @EnableJpaAuditinig с @EntityListeners(AuditEntityListener.class) в POJO суперкласса, и понял - жил неправильно.
@CreatedDate
@LastModifiedDate
Исправлюсь, наверное
Писал не так давно энтики для таблицы логов, с полем создания и полем последнего обновления;
православно, в @Entity метку создания инициировал сразу прямо в поле, а в сервисном методе аля ‘save’ обновлял дату изменения.
Наткнулся на конфигурацию @EnableJpaAuditinig с @EntityListeners(AuditEntityListener.class) в POJO суперкласса, и понял - жил неправильно.
Исправлюсь, наверное
#study #daily #s3
This is MinIO - опенсорсное объектное хранилище, совместимое с Amazon S3 API. Выпускается под лицензией Apache v2 и придерживается философии спартанского минимализма. (habr)
Хранение и администрирования файлов.
Решение здоровски набирает популярность.
Можно использовать для передачи статики напрямую, либо если требуется логика (кастомная нотификация, авторизация и тд, тп), то можно и через адаптер, например на Spring Kotlin 💜
Написал демо-проект под это дело: создание и удаление бакетов и объектов.
В целом MinIO API довольно широкий, хорошая документация.
Кому не интересен simple storage service, возможно заинтересует реализиция нотификации по электронной почте посредствам spring events, spring retry
https://github.com/qweezique/minio-service
This is MinIO - опенсорсное объектное хранилище, совместимое с Amazon S3 API. Выпускается под лицензией Apache v2 и придерживается философии спартанского минимализма. (habr)
Хранение и администрирования файлов.
Решение здоровски набирает популярность.
Можно использовать для передачи статики напрямую, либо если требуется логика (кастомная нотификация, авторизация и тд, тп), то можно и через адаптер, например на Spring Kotlin 💜
Написал демо-проект под это дело: создание и удаление бакетов и объектов.
В целом MinIO API довольно широкий, хорошая документация.
Кому не интересен simple storage service, возможно заинтересует реализиция нотификации по электронной почте посредствам spring events, spring retry
https://github.com/qweezique/minio-service
YouTube
This is MinIO
An overview of MinIO, a high-performance open-source S3 object storage server.
You can also find us on:
Red Hat Marketplace: https://min.io/product/private-cloud-red-hat-openshift
Azure Marketplace: https://min.io/product/multicloud-azure-kubernetes-service…
You can also find us on:
Red Hat Marketplace: https://min.io/product/private-cloud-red-hat-openshift
Azure Marketplace: https://min.io/product/multicloud-azure-kubernetes-service…