Рубрика «kotlin» - 3

Представьте себе: вы отлаживаете новый баг в сложном многослойном приложении (например, на Spring). Чтобы воспроизвести проблему, приходится взаимодействовать со всей системой end-to-end: отправлять запрос на эндпоинт или что-то кликать в UI. Юнит-теста, который бы изолировал нежелательное поведение до уровня злополучного сервиса или утилиты, нет. А хотелось бы, чтобы он был: во-первых, воспроизводить баг было бы проще (особенно если UI кликает QA, а не вы), а во-вторых, его потом можно было бы легко превратить в регрессионный и улучшить стабильность системы.

Читать полностью »

Привет!

В этой статье расскажем, как работает AI агент для написания кода Explyt Agent и какие задачи он решает.

Агент может выполнять произвольную задачу по запросу в чате.

Например, на видео выше показано, как по запросу агент решает следующую задачу: посылать пользователю письмо с сообщением "Пароль был успешно изменён!" после изменения пользователем пароля. Агент читает существующий код, шаблоны и тесты и добавляет нужную функциональность:

  1. агент добавляет новый код в сервисы

  2. Читать полностью »

Привет! Я с разработкой виджетов никогда не пересекался, честно говоря даже забыл о них, но на работе возникла задача - изучить, рассказать и интегрировать виджеты в приложение. После того, как задача была закончена решил поделиться своим опытом. Сталкивался с трудностями, буду рад, если статья поможет их разрешить.

Что такое виджеты и почему они особенные

Читать полностью »

Как все начиналось

В конце июня этого года я возвращался с дачи, слушая радио в машине. Новости по радио выходят раз в час, и их разнообразие оставляет желать лучшего. Тогда я подумал: было бы здорово, если бы было приложение, которое автоматически собирало новости из Telegram-каналов и озвучивало их голосом на русском языке.

Вернувшись домой, я поискал готовое решение, но ничего подходящего в интернете не нашёл. Решил спросить у ИИ.

Первый диалог с ChatGPT

Мой диалог с ChatGPT начался так:

Я:Читать полностью »

Предисловие

Данная статья основана на статье с BaeldungHosting a Maven Repository on GitHub.

Если интересно сразу перейти к делу, то пожалуйста)

Уже как три года я работаю над проектом со стеком Kotlin, Spring Boot, Maven. Все начиналось как небольшая учебная практика в вузе на коленке за пару недель и разрослось в приличную систему, которая уже использовалась по всей России.

В связи с ростом проекта, монорепозитория стало мало и появилась необходимость часть логики выделять в отдельные репозитории. Вот здесь и возникает вопрос: Читать полностью »

Привет!

Недавно в рамках одного из проектов на стеке KMP, Ktor и Kotlin Serialization мы с командой решили провести эксперимент и определить возможность и целесобразность минификации тел запросов / ответов на Json.

Да, мы знаем про GraphQL, Protobuf и др., но в нашем случае имел место необузданный интерес наколхозить такое решение. И при всей его наивности удалось сократить средний размер итоговых джсонов (после всех внутренних оптимизаций) на 15–20%.

Вводные данные:

  1. Большое приложение на KMP с таргетами iOS, Android, Web и Desktop;

  2. Фронтенд и бэкенд написаны на Ktor и швыряются Json'ами по HTTP;

  3. Читать полностью »

Всем привет! В Питере вместе с летней жарой случился релиз Explyt 4.0 c крутыми фичами для написания кода, тестирования и дебаггинга: агентским режимом Explyt Agent и генерацией тестов по исполнению Generate Tests from Execution.

Важные апдейты в Explyt 4.0:

  • обновлённый подход к следованию примеру тестов

  • расширенная поддержка Testcontainers и @DataJpaTest

  • генерация тестов по спецификации (EAP)

Улучшения и багфиксы:

  • теперь форматируется только сгенерированный код, пользовательское форматирование сохраняется

  • обновлены шаблоны запросов для интеграции с моделями Ollama

  • Читать полностью »

В статье Spring AI: retrieval augmented generation мы научились добавлять в контекст модели произвольные данные из векторного хранилища. Теперь давайте пойдём ещё дальше и посмотрим, как можно добавлять в контекст модели сторонние инструменты.

Spring AI: Model Context Protocol

Spring AI: Model Context Protocol

Протокол контекста модели (Читать полностью »

Spring AI и retrieval augmented generation

Spring AI и retrieval augmented generation

Spring AIЧитать полностью »

Трудности обслуживания приложений под Android - 1

Недавно наткнулся на новость о том, что количество приложений в Google Play Store сократилось на 47%.

Я сам энтузиаст разработки под Android и последние 5 лет работал над альтернативой для Google Play Music и PodcastЧитать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js