Kotlin.

Когда разработчиков больше нуля, но меньше двух: как я держу планку продакшна в одиночку

Личный проект, ставший единственной работой: скрипты, которые умеют говорить "нет", ночные прогоны, которым запрещено чинить, и люди, которые смотрят туда, куда тесты не умеют.

продолжить чтение

Почему Java-разработчики слишком доверяют рекомендациям ИИ

Представьте: в пятницу вечером руководитель уверенно сообщает, что переход со Spring Boot 3.5 на 4.0 будет простым и его можно закончить за выходные. Скорее всего, вы уточните, на чём основана такая оценка, и напомните о несовместимых изменениях.Теперь заменим руководителя на GitHub Copilot или другую большую языковую модель (LLM). Она предлагает рефакторинг метода, новую зависимость или готовый шаблон реализации. Ответ выглядит аккуратно и звучит уверенно. Модель не предупреждает, что может ошибаться. Возникает вопрос: проверяем ли мы такой код столь же строго, как заявление руководителя, или сразу принимаем его?По данным

продолжить чтение

Лучшие токены — те, которые вы не потратили: анатомия экономного LLM-бота

продолжить чтение

Skill of the week: Spring Data JDBC — качество Opus на модели за копейки

Ранее в рубрике Skill of the Week мы уже разбирали Skill для Spring Data JPA

продолжить чтение

Project Valhalla: 10 спустя

В Java наконец появляется ответ на старую проблему: полноценные классы часто слишком дорогие для памяти и процессора.Пример - массив из миллиона, например, точек Point. Сейчас это обычно не миллион точек подряд, а миллион ссылок на объекты в куче. У каждого объекта есть служебные данные, его нужно создать, потом убрать сборщиком мусора. Плюс процессор постоянно прыгает по памяти, а это медленно.Project Valhalla добавляет value class

продолжить чтение

Почему сейчас стажеры и джуны знают больше, но пишут код гораздо хуже, чем раньше

Всем привет, меня зовут Михаил, я работаю senior Java/Kotlin разработчиком в ОТП Банке. В свободное от работы время я занимаюсь менторством. Ко мне приходят разные люди: кто-то уже работает на проекте, кто-то только учится.Сейчас, в эпоху ИИ, найти информацию стало куда легче, чем раньше. Раньше ты гуглил и тыкал по ссылкам, а теперь все в одном приложении. Да еще и код можно не писать - ну красота же. Но что, если ты и до этого не умел писать код и решил "вкатываться в айтишку" (ненавижу эту фразу)?

продолжить чтение

AI Gateway для микросервисов: гайд по интеграции LLM в 2026

Всем привет, меня зовут Сергей Прощаев. В этой статье расскажу про одну из самых горячих тем 2026 года — интеграцию AI/ML как самостоятельных сервисов в микросервисную архитектуру. Я Tech Lead и руководитель направления Java/Kotlin разработки в FinTech & E-commerce, также преподаю на курсах разработки и архитектуры в OTUS.

продолжить чтение

Назирокодил утилиту на Kotlin и JavaScript для создания аккордов в любой тональности

Пробовали когда-нибудь сочинять свои аккорды на гитаре, укулеле или на клавишных? Не всякий аккорд подходить к любому другому, так? Например, ре-мажорный аккорд (D) не очень-то ладит с фа-минорным (Fm). То есть просто "слепить" любые аккорды друг с другом в одну последовательность не получится. Тем более, что хочется, чтобы их было больше 2-х. И повторять до бесконечности Am Dm Em не хочется, так?Для решения этой проблемки написал, используя ИИ, утилиту на JavaScript, доступную по URL:https://6a1998fa8733707618d3a7e0--gregarious-flan-52fbaf.netlify.app/

продолжить чтение

Сравнение моделей конкурентности JVM языков: Треды, Пулы и Structured Concurrency

Привет, ХабрМногие если не все встречались с потоками, пулами потоков и проблемами многопоточности и конкурентности. В JVM языках под капотом одна и таже платформа, но Java, Kotlin, Scala и Clojure по-разному работают с потоками, задачами и ожиданием I/O.

продолжить чтение

Почему AI-агент чинит симптом, а не баг: трейсы выполнения и бенчмарки на BugSwarm

Когда AI-агенту дают только stack trace и текст файла с упавшим тестом, он часто чинит симптом, а не причину. Тест зеленеет, баг переезжает в master, через неделю всплывает в другом месте. На простых багах это незаметно, на нетривиальных — становится правилом.В этой статье — что меняется, если вместо stack trace дать агенту сжатый трейс выполнения, собранный на стороне IDE. Три бага из реального кода, эвристики сжатия трейса, склейка многопоточных вызовов по timestamp и цифры на датасете BugSwarm Pro для DeepSeek V3.2 и проприетарных LLM.

продолжить чтение