Рубрика «kotlin»

Проблема

Мне нужен был простой инструмент: список задач, учёт расходов и таймер для фокусировки. Казалось бы — чего проще?

Но вот реальность:

  • Todoist — бесплатно только 5 проектов, дальше ₽359/мес

  • TickTick — помодоро и календарь только в Premium за ₽249/мес

  • Money Manager — реклама на каждом экране, ₽199 за отключение

  • Forest — ₽299 за приложение

Итого: чтобы покрыть задачи + бюджет + таймер, нужно либо 3-4 приложения, либо платить ~₽500-800/мес.

Мне показалось это абсурдным. И я решил сделать своё.

Решение: Todo Budget

Одно приложение, в котором есть:

TL;DR: Я хотел просто сделать JSON с хадисами. В итоге написал свой парсер для PDF, боролся с Gradle и доменами в Maven Central, ломал генерацию картинок в Satori и оптимизировал Fuzzy Search с 5 секунд до 2.7 секунд с помощью AI. Это история о том, как пет-проект превратился в экосистемо на NestJS, Prisma и Redis.


Введение: "Всё должно было быть просто"

Идея казалась элементарной: сделать удобное API для хадисов — изречений Пророка Мухаммада (мир ему). Казалось бы, 2026 год на дворе, всё уже должно быть оцифровано, лежать на GitHub в красивом JSON, бери и пользуйся.

Я начал гуглить. Реальность ударила сразу:

Сравнение рейтинга TIOBE и вакансий на HH - 1

Доброго времени суток! Моя первая статья, не судите строго) В следующий раз, постараюсь учесть все, что вы напишите в комментариях.

Идея статьи

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

1. Введение: Состояния под контролем. Что делать с событиями?

Представьте, что вы уже навели порядок в управлении состоянием вашего экрана. Вместо россыпи взаимозависимых булевых флагов и nullable-полей вы используете единый sealed interface UiState. Каждое возможное состояние — LoadingSuccessErrorЧитать полностью »

TL;DR

Если вас заставляют делать N запросов к локальному DeepSeek в день — эта статья про то, как получать от них реальную пользу. Покажу, как с помощью Roo Code разобраться в чужом модульном Android-проекте и написать Kaspresso-тесты за 20 минут вместо нескольких часов. С конкретными промптами и решением проблемы «невидимых» id элементов.


Проблема, о которой не говорят вслух

Многие компании сейчас внедряют AI — кто добровольно, кто принудительно. Разворачивают локальный DeepSeek, устанавливают нормы: столько-то запросов в день, столько-то в месяц. Метрики есть, а польза? 🤔

Знакомая ситуация?

Мир Enterprise-разработки на Java/Kotlin и мир нейронных сетей кажутся параллельными вселенными. С одной стороны - статическая типизация, многопоточность, Spring-контейнеры, а с другой - Python-скрипты, тензорные операции и эксперименты в Jupyter Notebook. Между ними - пропасть, через которую многие команды не решаются перешагнуть.

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

Это статья является адаптацией моего выступления на конференции UfaDevConf 2025.

Представьте, что вы работаете в логистике. У вас десяток интеграций: маркетплейсы, партнёры, внутренние сервисы. Каждый из них присылает запросы на создание Отправления в пункт выдачи заказов (ПВЗ). У Отправления есть вес. Один партнёр шлёт вес в граммах. Второй — в килограммах.

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

В мире Kotlin-бэкенда стандартом считается JVM. Это надежно, привычно, но иногда избыточно. Когда мне понадобился простой инструмент для сбора логов ошибок с моих проектов, я не хотел разворачивать тяжелый стек с Elasticsearch или платить за Sentry.

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

Так появился Katcher. Это self-hosted краш-трекер, построенный на Kotlin Multiplatform (Native). В этой статье я расскажу, как собрать современный веб-сервис без JVM, без React и без сложной сборки фронтенда, используя Ktor, SQLite и HTMX.

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

Новости противоречат друг другу. Один источник пишет «завод встал», второй — «встала первая линия», третий копипастит статью двухлетней давности. Когда через твой пайплайн проходят сотни таких новостей в сутки, ручная верификация перестаёт масштабироваться.

Мы столкнулись с этим при построении новостного пайплайна StatCar — нишевого СМИ об автомобилях. Стандартные LLM не подходят — их знания устаревают на момент обучения. Вариант «LLM + web_search tool» рассматривали, но отказались: дороже и менее эффективно. Perplexity заточен под поиск — это его core competency.

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

Девять лет назад я написал эти строки* и совершенно забыл про них через некоторое время. Наткнувшись на свои заметки в процессе написания статьи, неожиданно нашел там подходящий эпиграф.

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


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