Обновление статьи: Проблема реактивного Hibernate Panache с Kafka в Quarkus
Кажется багу починили, с версии 2.14.0 достаточно поставить аннотацию
P.S. Кажется писать статьи по багам дело не благородное, потом приходиться их актуализировать 😅
— — — — —
https://struchkov.dev/blog/panache-with-kafka-consumer-quarkus/
Кажется багу починили, с версии 2.14.0 достаточно поставить аннотацию
@ActivateRequestContext вместе с @Incoming и можно работать с Hibernate Panache при получении сообщений из Kafka. Поэтому актуализировал статью под новую версию.P.S. Кажется писать статьи по багам дело не благородное, потом приходиться их актуализировать 😅
— — — — —
https://struchkov.dev/blog/panache-with-kafka-consumer-quarkus/
👍3
Хочу поделиться впечатлениями о новой конференции Podlodka Java Crew 👀
Первое, что хотелось бы отметить, приятную атмосферу и расписание. Два доклада в день утром и вечером 5 дней. Это очень удобно встроилось в мой календарь. Информация спокойно усваивается, не происходит перегруз. При этом доклады идут дольше, чем заявлено, никто не пытается закончить побыстрее, чтобы уложиться в сроки. После доклада все желающие задают свои вопросы.
Было много интересных обсуждений, но, кажется, маловато технических докладов с live-code. Надеюсь, что со временем таких докладов станет больше.
Отдельно отмечу Java-квизы. Сначала скептически отнёсся к этой активности, но решил поучаствовать. Оказалось довольно интересно посоревноваться с коллегами по цеху🙂
Спасибо подлодке за новую конференцию по Java💪
Первое, что хотелось бы отметить, приятную атмосферу и расписание. Два доклада в день утром и вечером 5 дней. Это очень удобно встроилось в мой календарь. Информация спокойно усваивается, не происходит перегруз. При этом доклады идут дольше, чем заявлено, никто не пытается закончить побыстрее, чтобы уложиться в сроки. После доклада все желающие задают свои вопросы.
Было много интересных обсуждений, но, кажется, маловато технических докладов с live-code. Надеюсь, что со временем таких докладов станет больше.
Отдельно отмечу Java-квизы. Сначала скептически отнёсся к этой активности, но решил поучаствовать. Оказалось довольно интересно посоревноваться с коллегами по цеху
Спасибо подлодке за новую конференцию по Java
Please open Telegram to view this post
VIEW IN TELEGRAM
podlodka.io
Онлайн-конференция Podlodka Java Crew, сезон #8
Недельное мероприятие от команды Podlodka: ежедневные интерактивные сессии в Zoom по актуальным проблемам java-разработки, нон-стоп общение с экспертами и звёздами индустрии, закрытое профессиональное сообщество в Telegram.
👍1
Сегодня я впервые дебютирую в качестве докладчика на конференции подлодки ☝️
Приходите послушать, если участвуете в конференции. Это секция открытого микрофона с 19 до 20.
Буду рассказывать как написать оптимальный Docker image для приложения 📦
Приходите послушать, если участвуете в конференции. Это секция открытого микрофона с 19 до 20.
Буду рассказывать как написать оптимальный Docker image для приложения 📦
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
Конференция закончилась, атмосфера очень понравилась 👍
Бонусом победил в соревновании и получу проходку на следующей сезон конференции, что особенно приятно ☺️
Кажется, что доклад получился скомканным. Пришлось тараторить, чтобы уложиться в 15-20 минут 😅
Оказалось, что доклад тянет на полноценный, если его подробно рассказывать 👀
Ну получилось, как получилось. Чуть позже скину запись. Вроде разрешили распространять))
Бонусом победил в соревновании и получу проходку на следующей сезон конференции, что особенно приятно ☺️
Кажется, что доклад получился скомканным. Пришлось тараторить, чтобы уложиться в 15-20 минут 😅
Оказалось, что доклад тянет на полноценный, если его подробно рассказывать 👀
Ну получилось, как получилось. Чуть позже скину запись. Вроде разрешили распространять))
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Struchkov // Java TechLead
Собираем Docker Image для Spring Boot В этой статье рассматриваются различные способы создания образов для Spring Boot приложения. Например, можно воспользоваться плагином Jib, который может создать образ без докера. Но самая интересная часть — это оптимизированный…
Вот и запись вчерашнего выступления подъехала: https://youtu.be/MAFYm9tv-R4
Дополнительно создал канал на YouTube, хочу попробовать делать обучающие видео к статьям.
Ссылка на канал: @struchkovdev
Дополнительно создал канал на YouTube, хочу попробовать делать обучающие видео к статьям.
Ссылка на канал: @struchkovdev
YouTube
Оптимальный Docker Image для Spring Boot
Рассмотрим популярные способы упаковки приложения в контейнер. Определим их плюсы и минусы, а после напишем свой оптимальный Dockerfile для Spring Boot.
Статья: https://struchkov.dev/blog/build-docker-image-for-spring-boot/
Задать вопрос, оставить комментарий:…
Статья: https://struchkov.dev/blog/build-docker-image-for-spring-boot/
Задать вопрос, оставить комментарий:…
🔥10👍1
В продолжение темы пагинации написал еще две статьи:
Постраничная пагинация в SpringBoot
Статья рассчитана для новичков, которые хотят разобраться как отдавать данные порциями (страницами), а не все разом.
Опытные разработчики ничего нового не узнают. Хотя возможно задумаются, стоит ли протаскивать классы Page и Pageable через все слои приложения🧐
Постраничная пагинация в Quarkus
Тоже самое, но про реактивный кваркус. Там не все так просто, как в SpringBoot.
Первое решение, которое я реализовал выполняло 4 запроса к БД, вместо 2.
В этой статье есть объяснение почему так, и как это исправить.
P.S. В планах еще статья про реализацию KeySet Pagination.
Постраничная пагинация в SpringBoot
Статья рассчитана для новичков, которые хотят разобраться как отдавать данные порциями (страницами), а не все разом.
Опытные разработчики ничего нового не узнают. Хотя возможно задумаются, стоит ли протаскивать классы Page и Pageable через все слои приложения
Постраничная пагинация в Quarkus
Тоже самое, но про реактивный кваркус. Там не все так просто, как в SpringBoot.
Первое решение, которое я реализовал выполняло 4 запроса к БД, вместо 2.
В этой статье есть объяснение почему так, и как это исправить.
P.S. В планах еще статья про реализацию KeySet Pagination.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2
Struchkov // Java TechLead
Основы транзакций в Spring В этой статье мы разберемся, что такое транзакции. Что это за свойства ACID. Как транзакции выполняются на уровне SQL, JDBС, а также на уровне Spring. https://struchkov.dev/blog/transaction-jdbc-and-spring-boot/ — — — — — #гайд…
Уровни изоляций траназакций
Продолжаю покрывать базовые темы. В этот раз разбирается с проблемами, которые могут возникнуть при параллельных транзакциях, а их не мало.
Кажется получилось годная статья. Особенное внимание стоит уделить примерам, которые иллюстрируют каждую проблему.
https://struchkov.dev/blog/transactional-isolation-levels/
Продолжаю покрывать базовые темы. В этот раз разбирается с проблемами, которые могут возникнуть при параллельных транзакциях, а их не мало.
Кажется получилось годная статья. Особенное внимание стоит уделить примерам, которые иллюстрируют каждую проблему.
https://struchkov.dev/blog/transactional-isolation-levels/
👍15
Коллеги на работе скинули запись с небольшим количеством интересных докладов. Ну а я делюсь с вами ☺️
Пока все посмотреть не успел, но планирую))
Доклады с таймкодами:
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
Пока все посмотреть не успел, но планирую))
Доклады с таймкодами:
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 — Владимир…
12:55 — Иван Углянский (Excelsior Huawei) — «Один день из жизни JVM-инженера»
1:05:05 —Андрей Цветцих (Тинькофф) — «Эволюция и популярные мифы CQRS»
2:17:29 — Алексей Рагозин (независимый эксперт) — «Матрица мониторинга»
3:11:22 — Владимир…
🔥9👍3
Итак, это была последняя статья в этом году
Хочется подвести итоги и поставить цели на 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 канал и телеграм каналы
- Написать документацию к своим библиотекам и презентовать их широкой публике.
Как-то так. Год получился на удивление продуктивным.
Интересно было бы послушать о ваших главных достижениях в этом году, пишите в комментарии👇
А я поздравляю всех с наступающим Новым Годом.
Желаю поменьше работать и побольше зарабатывать 🙃
Все остальное вам и без меня пожелают 😄
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🎄5
Автоматизация рутины при выпуске релизов с Maven
Если у вас есть проект, в котором больше 5 модулей, то вам должна быть знакома боль выпуска релиза. Ведь надо руками обновить версию родительского помника в каждом модулей, и это еще благоприятная ситуация. А если версии модулей самостоятельные, то риск допустить ошибку увеличивается.
В таких случаях поможет maven-release-plugin, о нем и пойдет речь в последней заметке в этом году:
https://struchkov.dev/blog/release-releases-with-maven/
P.S. Таймер криво сработал, этот пост должен был быть над предыдущим 😅
Если у вас есть проект, в котором больше 5 модулей, то вам должна быть знакома боль выпуска релиза. Ведь надо руками обновить версию родительского помника в каждом модулей, и это еще благоприятная ситуация. А если версии модулей самостоятельные, то риск допустить ошибку увеличивается.
В таких случаях поможет maven-release-plugin, о нем и пойдет речь в последней заметке в этом году:
https://struchkov.dev/blog/release-releases-with-maven/
P.S. Таймер криво сработал, этот пост должен был быть над предыдущим 😅
🔥2
Всех с 2023 релизом 😁🥳🍾
Надеюсь он будет менее баговый, чем 2022 😅
Желаю стабильных релизов и легких деплоев весь 2023😂
Надеюсь он будет менее баговый, чем 2022 😅
Желаю стабильных релизов и легких деплоев весь 2023
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🍾8
Январские праздники подкосили мою продуктивность. Весь Январь не было сил ни на что, кроме работы. Хотя я довольно сильно прокачал Gitlab Telegram Notify, скоро выпущу первый стабильный релиз. Но вот на статьи времени не было.
Решил начать с обновления старых статей, которые пользуются популярностью. Начал со статьи «Документирование API с помощью OpenAPI 3 и Swagger»
Что нового:
1. Обновил демо проект на SpringBoot 3.
2. Добавил раздел про авторизацию в Swagger. Если вы используете Swagger с Oauth2 буду рад совету, как обойти вот эту проблему.
3. Куча мелких исправлений по стилистике.
https://struchkov.dev/blog/api-swagger/
Решил начать с обновления старых статей, которые пользуются популярностью. Начал со статьи «Документирование API с помощью OpenAPI 3 и Swagger»
Что нового:
1. Обновил демо проект на SpringBoot 3.
2. Добавил раздел про авторизацию в Swagger. Если вы используете Swagger с Oauth2 буду рад совету, как обойти вот эту проблему.
3. Куча мелких исправлений по стилистике.
https://struchkov.dev/blog/api-swagger/
👍4
Создаем свой Spring Boot Starter
Один из мощных механизмов Spring Boot — возможность использования "стартеров" для быстрой настройки нового проекта с предварительно сконфигурированными зависимостями.
В этой статье мы рассмотрим, как создать собственный стартер Spring Boot. Обсудим некоторые лучшие практики и советы по созданию.
Если у вас есть опыт в создании стартеров, делитесь своими советами в комментариях.
https://struchkov.dev/blog/create-spring-boot-starter/
Один из мощных механизмов Spring Boot — возможность использования "стартеров" для быстрой настройки нового проекта с предварительно сконфигурированными зависимостями.
В этой статье мы рассмотрим, как создать собственный стартер Spring Boot. Обсудим некоторые лучшие практики и советы по созданию.
Если у вас есть опыт в создании стартеров, делитесь своими советами в комментариях.
https://struchkov.dev/blog/create-spring-boot-starter/
👍11🔥2
Привет! На связи Podlodka Java Crew!
А вы используете микросервисы? Это стандарт коммерческой разработки, но часто командам сложно обеспечить согласованность данных, наблюдаемость, метрики, трейсинг. Поэтому темой второго сезона онлайн-конференции выбрали микросервисную архитектуру.
В этом сезоне эксперты расскажут:
🌟Как обеспечивать целостность данных в микросервисных архитектурах. Архитектор с 20+ годами опыта Филипп Дельгядо строил продукты в Яндекс.Деньгах, 1ЦУПИС, OpenWay и других финтех-проектах. Филипп разберёт паттерны реализации целостности, раскроет содержание понятия «саги», расскажет о связанных проблемах.
🌟Что делать, чтобы падения из детективных историй превратились в понятную последовательность логов и трейсов. Архитектор / IT leader цифровой платформы продаж Альфа-Банка Максим Чернухин объяснит, как обеспечить observability, на примерах реальных кейсов.
Я ходил на первый сезон, и выступил с небольшим докладом. На второй сезон тоже пойду. Стартуем 20 марта, присоединяйтесь.
Билеты ещё доступны по сниженной цене. А по промокоду
Больше подробностей — на сайте.
Увидимся на конференции😉
#реклама
А вы используете микросервисы? Это стандарт коммерческой разработки, но часто командам сложно обеспечить согласованность данных, наблюдаемость, метрики, трейсинг. Поэтому темой второго сезона онлайн-конференции выбрали микросервисную архитектуру.
В этом сезоне эксперты расскажут:
🌟Как обеспечивать целостность данных в микросервисных архитектурах. Архитектор с 20+ годами опыта Филипп Дельгядо строил продукты в Яндекс.Деньгах, 1ЦУПИС, OpenWay и других финтех-проектах. Филипп разберёт паттерны реализации целостности, раскроет содержание понятия «саги», расскажет о связанных проблемах.
🌟Что делать, чтобы падения из детективных историй превратились в понятную последовательность логов и трейсов. Архитектор / IT leader цифровой платформы продаж Альфа-Банка Максим Чернухин объяснит, как обеспечить observability, на примерах реальных кейсов.
Я ходил на первый сезон, и выступил с небольшим докладом. На второй сезон тоже пойду. Стартуем 20 марта, присоединяйтесь.
Билеты ещё доступны по сниженной цене. А по промокоду
java_crew_2_FkcvHs получите дополнительную скидку в 500 ₽. На этой неделе она суммируется со скидкой на сайте.Больше подробностей — на сайте.
Увидимся на конференции
#реклама
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
Оптимизация изображений. Сжатие и преобразование в WebP.
Не только же про джаву писать. Из этой статьи вы узнаете, как сжать png/jpg на 20-30% без потери качества, а потом уменьшить изображение на 80-90% используя WebP, но уже с небольшими искажениями.
Можно уменьшить свой фото-альбом, картинки на сайте, или коллекцию мемасов😅
Скрипт позволяет с минимальными потерями в качестве сжать изображение размером 8 мб до 393 кб.
https://struchkov.dev/blog/ru/image-optimization/
— — — — —
#note #shell #optimization #nginx
Не только же про джаву писать. Из этой статьи вы узнаете, как сжать png/jpg на 20-30% без потери качества, а потом уменьшить изображение на 80-90% используя WebP, но уже с небольшими искажениями.
Можно уменьшить свой фото-альбом, картинки на сайте, или коллекцию мемасов
Скрипт позволяет с минимальными потерями в качестве сжать изображение размером 8 мб до 393 кб.
https://struchkov.dev/blog/ru/image-optimization/
— — — — —
#note #shell #optimization #nginx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
# Google анонсировала свой ИИ помощник Brand.
— — — — —
Brand будет помогать пользователям в раздичных Google сервисах. Пока будет доступно только для Google Workspace.
# OpenAI выпустили пресс-релиз о GPT-4.
— — — — —
Лучше. Мощнее. С картинками. Рекомендую прочитать вот эту статейку: «Как работает ChatGPT: объясняем на простом русском эволюцию языковых моделей начиная от T9»
Пока можно записаться в очередь. Не понял будет ли доступно в ChatGPT или хотя бы в ChatGPT плюс. Или чат так и останется на GPT-3
Семимильными шагами врываемся в будущее. Надо бы тоже придумать какой-нибудь проект с GPT-4 🤔
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
Media is too big
VIEW IN TELEGRAM
🤖 ChatGPT Telegram Bot
Не спал вчера полночи, но это того стоило. Встречайте, первый релиз нового проекта 🥳
По факту это докер образ, который вы можете развернуть у себя на ПК, а лучше на сервере, и получить персонального ChatGPT прямо в Telegram.
Сейчас довольно много появилось ботов в телеге, которые якобы ChatGPT, но по факту это модели попроще. Мой проект обращается именно к ChatGPT API, и использует модель GPT-3.5. Для этого я запил OpenAI клиент для Java, но об этом чуть позже 🤫
Подробнее в документации
— — — — —
https://docs.struchkov.dev/chatgpt-telegram-bot/en/latest/
Не спал вчера полночи, но это того стоило. Встречайте, первый релиз нового проекта 🥳
По факту это докер образ, который вы можете развернуть у себя на ПК, а лучше на сервере, и получить персонального ChatGPT прямо в Telegram.
Сейчас довольно много появилось ботов в телеге, которые якобы ChatGPT, но по факту это модели попроще. Мой проект обращается именно к ChatGPT API, и использует модель GPT-3.5. Для этого я запил OpenAI клиент для Java, но об этом чуть позже 🤫
Подробнее в документации
— — — — —
https://docs.struchkov.dev/chatgpt-telegram-bot/en/latest/
🔥18👍10❤3🎉1
Хотел сделать небольшой самопиар ChatGPT бота на Habr, в честь скорого выхода версии 0.0.2. Но не смог, так как не хватает кармы.
— — — — —
Кому не лень, накидайте плюсов в карму: https://habr.com/ru/users/upagge/
— — — — —
Кому не лень, накидайте плюсов в карму: https://habr.com/ru/users/upagge/
This media is not supported in your browser
VIEW IN TELEGRAM
🤖 ChatGPT Bot | 0.1.0
Новая версия. Новые функции:
* Многопользовательский режим.
* Создание нескольких параллельных чатов. Переключение между ними. Закрытие чатов.
* Информация о расходах за текущий месяц.
* Если приходит длинный ответ, то он разбивается на несколько сообщений.
* Возможность задать поведение модели для каждого чата. Сохраняется при очистке контекста.
* Возможность выполнить запрос в групповом чате, с помощью Telegram Inline Mode. Пример на видео.
— — — — —
https://docs.struchkov.dev/chatgpt-telegram-bot/en/latest/
Новая версия. Новые функции:
* Многопользовательский режим.
* Создание нескольких параллельных чатов. Переключение между ними. Закрытие чатов.
* Информация о расходах за текущий месяц.
* Если приходит длинный ответ, то он разбивается на несколько сообщений.
* Возможность задать поведение модели для каждого чата. Сохраняется при очистке контекста.
* Возможность выполнить запрос в групповом чате, с помощью Telegram Inline Mode. Пример на видео.
— — — — —
https://docs.struchkov.dev/chatgpt-telegram-bot/en/latest/
🔥6👍1
😎 Первый коммерческий пет-проект
Делать open-source проекты это хорошо и плюс в карму, но я уже давно хотел сделать какой-нибудь проект для массового потребителя, да такой, чтобы еще и копеечку приносил. И вот весь апрель с небольшой командой в свободное время мы пилили ChatGPT бота: @aya_assistant_bot.
Да, пока это еще один ChatGPT бот, коих в телеге уже появилось предостаточно. Но грех было не сделать своего, учитывая то, что я с 2018 года пилю набор библиотек для создания ботов. Странно, что эта идея не пришла мне в голову сразу :)
Это интересный опыт, который позволил мне:
1. Разобраться, как интегрироваться с платежным сервисом. Для этого сделал отдельный клиент для Quarkus, который выложил в open-source. Надеюсь, когда-нибудь найду время описать к нему документацию.
2. Разобраться с API, который предоставляет OpenAI. Тоже сделали клиент и для Quarkus и для Spring, но пока не выложили в open-source.
3. Решить множество интересных нестандартных задач, а множество еще нужно решить.
Из минусов стоит отметить, что времени на написание статей для блога совсем нет. Но блог забрасывать не планирую, точно к нему еще вернусь :)
Будем и дальше развивать этот проект, добавлять интеграции с другими нейронками. Не призываю пользоваться, думаю, большинство моих подписчиков могут запустить мою open-source версию бота. Просто хотел поделиться новостью :)
Делать open-source проекты это хорошо и плюс в карму, но я уже давно хотел сделать какой-нибудь проект для массового потребителя, да такой, чтобы еще и копеечку приносил. И вот весь апрель с небольшой командой в свободное время мы пилили ChatGPT бота: @aya_assistant_bot.
Да, пока это еще один ChatGPT бот, коих в телеге уже появилось предостаточно. Но грех было не сделать своего, учитывая то, что я с 2018 года пилю набор библиотек для создания ботов. Странно, что эта идея не пришла мне в голову сразу :)
Это интересный опыт, который позволил мне:
1. Разобраться, как интегрироваться с платежным сервисом. Для этого сделал отдельный клиент для Quarkus, который выложил в open-source. Надеюсь, когда-нибудь найду время описать к нему документацию.
2. Разобраться с API, который предоставляет OpenAI. Тоже сделали клиент и для Quarkus и для Spring, но пока не выложили в open-source.
3. Решить множество интересных нестандартных задач, а множество еще нужно решить.
Из минусов стоит отметить, что времени на написание статей для блога совсем нет. Но блог забрасывать не планирую, точно к нему еще вернусь :)
Будем и дальше развивать этот проект, добавлять интеграции с другими нейронками. Не призываю пользоваться, думаю, большинство моих подписчиков могут запустить мою open-source версию бота. Просто хотел поделиться новостью :)
🔥17👍2
🚀 Реактивное программирование на Java. Будущее, настоящее и прошлое
Что же такое реактивное программирование, и почему оно становится всё более популярным? В чём недостаток императивного подхода? И, что самое важное, как реактивные потоки помогают нам создавать более производительные и эффективные системы?
Целью статьи является погружение в контекст реактивной разработки и объяснение основных механик. Это не гайд написанию реактивных приложений. Гайды будут в следующих статьях.
https://struchkov.dev/blog/ru/overview-of-reactive-programming/
Что же такое реактивное программирование, и почему оно становится всё более популярным? В чём недостаток императивного подхода? И, что самое важное, как реактивные потоки помогают нам создавать более производительные и эффективные системы?
Целью статьи является погружение в контекст реактивной разработки и объяснение основных механик. Это не гайд написанию реактивных приложений. Гайды будут в следующих статьях.
https://struchkov.dev/blog/ru/overview-of-reactive-programming/
👍16🔥5