Канал для поиска исполнителей для разных задач и организации мини конкурсов
Last updated 2 месяца, 4 недели назад
Новые и перспективные Web3 игры с добычей токенов.
Чат: https://t.me/Crypto_Wolf_Chat
Правила чата смотрите в описании чата.
Все свои вопросы направляйте в чат или главному модератору чата: @Exudna_118
По теме сотрудничества: @Zombini
Last updated 2 месяца, 2 недели назад
Создаем свой Spring Boot Starter
Один из мощных механизмов Spring Boot — возможность использования "стартеров" для быстрой настройки нового проекта с предварительно сконфигурированными зависимостями.
В этой статье мы рассмотрим, как создать собственный стартер Spring Boot. Обсудим некоторые лучшие практики и советы по созданию.
Если у вас есть опыт в создании стартеров, делитесь своими советами в комментариях.
https://struchkov.dev/blog/create-spring-boot-starter/
struchkov.dev
Создаем свой Spring Boot Starter
Стартеры Spring Boot - это, по сути, предварительно упакованные наборы зависимостей и сконфигурированных бинов для обеспечения определенной функциональности, например, доступа к базе данных или безопасности.
Январские праздники подкосили мою продуктивность. Весь Январь не было сил ни на что, кроме работы. Хотя я довольно сильно прокачал Gitlab Telegram Notify, скоро выпущу первый стабильный релиз. Но вот на статьи времени не было.
Решил начать с обновления старых статей, которые пользуются популярностью. Начал со статьи «Документирование API с помощью OpenAPI 3 и Swagger»
Что нового:
1. Обновил демо проект на SpringBoot 3.
2. Добавил раздел про авторизацию в Swagger. Если вы используете Swagger с Oauth2 буду рад совету, как обойти вот эту проблему.
3. Куча мелких исправлений по стилистике.
Автоматизация рутины при выпуске релизов с Maven
Если у вас есть проект, в котором больше 5 модулей, то вам должна быть знакома боль выпуска релиза. Ведь надо руками обновить версию родительского помника в каждом модулей, и это еще благоприятная ситуация. А если версии модулей самостоятельные, то риск допустить ошибку увеличивается.
В таких случаях поможет maven-release-plugin, о нем и пойдет речь в последней заметке в этом году:
https://struchkov.dev/blog/release-releases-with-maven/
P.S. Таймер криво сработал, этот пост должен был быть над предыдущим ?
struchkov.dev
Автоматизация рутины при выпуске релизов с Maven
Выпуск релиза для многомодульного проекта дело не простое. Как автоматизировать процесс и версиях модулей?
~~Это был тяжелый год…~~
Итак, это была последняя статья в этом году ☝️
Хочется подвести итоги и поставить цели на 2023.
Чтобы как-то отвлечься, я с головой ушел в разработку на работе и свои проекты. Поэтому за этот год довольно много достижений и новых изученных технологий. Хоть какая-то польза от этого года. Но полноценную статью с подведением итогов я не успел дописать, сделаю это во время праздников. Но коротко зафиксирую достижения в этом посте.
Результаты за 2022 год:
- Изучил множество новых технологий: Реактивная разработка на Quarkus, Kafka, GraphQL, Redis, Protobuffers и множество других слов, которые украсили резюме в этом году.
- Написал 19 статей в блоге. Но в прошлом году было намного больше :(
- Выступил с небольшим докладом на конференции Podlodka Java Crew #1.
- Запустил подкаст с другом.
- Закрыли подкаст с другом через 7 выпусков. Возможно когда-нибудь возродим его ?
- Сходил на подкаст в качестве гостя. Выпуск будет в январе, и анонс тоже :)
- Запустил второй сайт с короткими заметками по разработке - DevNotes.
- Настроил инфраструктуру для своих проектов: Git, CI/CD, Nexus. Возможно напишу гайд о том, как поднять свою независимую инфраструктуру для разработки и не бояться получить бан в GitHub/GitLab/DockerHub.
- Полностью закончил дизайн основного блога, осталось только поправить баги, которые возникают на мобильных устройствах.
- Почти весь год провел с Я.Практикум, помогая студентам на курсе Java. Но пришлось покинуть Практикум, так как перестало хватать на все времени :(
Планы на 2023:
- Выступить с полноценным докладом на конференции Jpoint или Jocker.
- Собрать команду авторов и развивать блог уже командой.
- Вдохнуть вторую жизнь в проект Gitlab Notification. Уже начал это делать, думаю в январе закончу.
- Оживить сайт DevNotes, а то я на него подзабил. Тут много еще работы в плане дизайна сайта и фишечек.
- Развивать YouTube канал и телеграм каналы
- Написать документацию к своим библиотекам и презентовать их широкой публике.
Как-то так. Год получился на удивление продуктивным.
Интересно было бы послушать о ваших главных достижениях в этом году, пишите в комментарии?
А я поздравляю всех с наступающим Новым Годом.
Желаю поменьше работать и побольше зарабатывать ?
Все остальное вам и без меня пожелают ?
Коллеги на работе скинули запись с небольшим количеством интересных докладов. Ну а я делюсь с вами ☺️
Пока все посмотреть не успел, но планирую))
Доклады с таймкодами:
12:55 — Иван Углянский — «Один день из жизни JVM-инженера». Этот доклад был на последнем дне Jocker 2022.
1:05:05 —Андрей Цветцих — «Эволюция и популярные мифы CQRS». Любопытный доклад про архитектуру приложения.
2:17:29 — Алексей Рагозин — «Матрица мониторинга»
3:11:22 — Владимир Плизга — «Экскурсия в бэкенд Интернета вещей»
4:25:30 — Илья Орлов — «Scylla в проде: о выживании чудовищ в диких условиях кровавого энтерпрайза»
5:00:39 — Сергей Задорожный — «Руководство бравого докер-секурити мастера»
Запись: https://www.youtube.com/watch?v=k-AQlEdRyO0
YouTube
Backend Day
00:00 — Вот-вот начнём 12:55 — Иван Углянский (Excelsior Huawei) — «Один день из жизни JVM-инженера» 1:05:05 —Андрей Цветцих (Тинькофф) — «Эволюция и популярные мифы CQRS» 2:17:29 — Алексей Рагозин (независимый эксперт) — «Матрица мониторинга» 3:11:22 — Владимир…
Основы транзакций в Spring В этой статье мы разберемся, что такое транзакции. Что это за свойства ACID. Как транзакции выполняются на уровне SQL, JDBС, а также на уровне Spring. https://struchkov.dev/blog/transaction-jdbc-and-spring-boot/ — — — — — #гайд…
struchkov.dev
Уровни изоляций Transactional
Разбираемся, как одна транзакция может влиять на результаты выполнения другой транзакции. И как уровни изоляции помогают противостоять этому влиянию.
В продолжение темы пагинации написал еще две статьи:
Постраничная пагинация в SpringBoot
Статья рассчитана для новичков, которые хотят разобраться как отдавать данные порциями (страницами), а не все разом.
Опытные разработчики ничего нового не узнают. Хотя возможно задумаются, стоит ли протаскивать классы Page и Pageable через все слои приложения ?
Постраничная пагинация в Quarkus
Тоже самое, но про реактивный кваркус. Там не все так просто, как в SpringBoot.
Первое решение, которое я реализовал выполняло 4 запроса к БД, вместо 2.
В этой статье есть объяснение почему так, и как это исправить.
P.S. В планах еще статья про реализацию KeySet Pagination.
Собираем Docker Image для Spring Boot В этой статье рассматриваются различные способы создания образов для Spring Boot приложения. Например, можно воспользоваться плагином Jib, который может создать образ без докера. Но самая интересная часть — это оптимизированный…
YouTube
Оптимальный Docker Image для Spring Boot
Рассмотрим популярные способы упаковки приложения в контейнер. Определим их плюсы и минусы, а после напишем свой оптимальный Dockerfile для Spring Boot. Статья: https://struchkov.dev/blog/build-docker-image-for-spring-boot/ Задать вопрос, оставить комментарий:…
Конференция закончилась, атмосфера очень понравилась ?
Бонусом победил в соревновании и получу проходку на следующей сезон конференции, что особенно приятно ☺️
Кажется, что доклад получился скомканным. Пришлось тараторить, чтобы уложиться в 15-20 минут ?
Оказалось, что доклад тянет на полноценный, если его подробно рассказывать ?
Ну получилось, как получилось. Чуть позже скину запись. Вроде разрешили распространять))
Канал для поиска исполнителей для разных задач и организации мини конкурсов
Last updated 2 месяца, 4 недели назад
Новые и перспективные Web3 игры с добычей токенов.
Чат: https://t.me/Crypto_Wolf_Chat
Правила чата смотрите в описании чата.
Все свои вопросы направляйте в чат или главному модератору чата: @Exudna_118
По теме сотрудничества: @Zombini
Last updated 2 месяца, 2 недели назад