заметки лида
269 subscribers
83 photos
18 videos
126 links
jvm, web, backend, etc.
но это не точно
сохраняю интернет


@qweezique
Download Telegram
#spring #cloud ⛅️ #study

Сейчас прохожусь по изученном ранее 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
#study
ВНИМАНИЕ: очень субъективно

Что-то удалил, что-то переместил

Мои плейлисты YouTube:

- в личных листах какая-то избранная для меня информация
- есть множество добавленных сохраненных плейлистов
#daily #study #logg

В планах обвязать микросервисы 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
6 сентября #study #meetup

Очередная порция докладов на базе JUG.RU, на сей раз от РОСБАНК.

3 небольших доклада
Регистрация на онлайн-митап, бесплатно
#kotlin #study

Хотел как-то написать о том, как обходиться в 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 😑 Какая любимая аннотация?
#kotlin #study
Залипаю за всякие штуковины с https://youtube.com/c/Kotlin
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, есть отзывы?
#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 реактикный клиент для работы с БД
#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, либо любопытным.
This media is not supported in your browser
VIEW IN TELEGRAM
#study #git

Когда наводишь порядок в репе и узнаешь про git rebase -i

https://youtu.be/m-GIJOEh798
#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
#study #jpa

Писал не так давно энтики для таблицы логов, с полем создания и полем последнего обновления;

православно, в @Entity метку создания инициировал сразу прямо в поле, а в сервисном методе аля ‘save’ обновлял дату изменения.

Наткнулся на конфигурацию @EnableJpaAuditinig с @EntityListeners(AuditEntityListener.class) в POJO суперкласса, и понял - жил неправильно.

@CreatedDate
@LastModifiedDate

Исправлюсь, наверное
#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