Обновить
286.95

Java *

Объектно-ориентированный язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Инструменты навигации в GIGA IDE

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели8.4K

Добрый день! Меня зовут Андрей Слекеничс, я PO GigaIDE, и сегодня мы продолжаем наш экскурс по функциональности GigaIDE.

Первая и предыдущая статьи цикла доступны здесь и здесь. Сегодняшний материал — последний, затрагивающий функциональность GigaIDE Community, и первый, в котором мы переходим к возможностям уже только GigaIDE PRO.

Читать далее

28 дней со Spring AI: от простого чата до полноценного инструмента

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели9.6K

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

Когда я проходил AI Advent Challenge этот режим прокрастинации сломался: 28 дней подряд у тебя есть ровно сутки. В 10:00 приходит задание, а в 10:00 следующего дня - дедлайн. Поэтому каждый день заканчивается одной из двух вещей: либо у тебя есть работающий кусок, либо ты точно понимаешь, где решение не выдержало и почему.

Читать далее

OWASP Top 10 2025 — от кода к цепочке поставок: расширение границ безопасности

Уровень сложностиСредний
Время на прочтение24 мин
Охват и читатели10K

Разбираем изменения в OWASP Top 10 версии 2025 года на примерах и рассматриваем, как SAST может помочь избежать уязвимостей.

Читать далее

ИИ-ассистенты не ломают поддерживаемость кода. Но есть нюансы (выжимка из исследования Echoes of AI)

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели6.6K

Первое крупное контролируемое исследование влияния ИИ-ассистентов на поддерживаемость кода: код, написанный с GitHub Copilot и Cursor, не стал сложнее в эволюции для других разработчиков. В двухфазном эксперименте с 151 участником (95% — практикующие специалисты) одни разработчики создавали фичи с ИИ и без, а другие — развивали чужой код, не зная его происхождения.

Результат: нет значимых различий по времени, качеству кода (CodeHealth) или покрытию тестами. При этом в первой фазе ИИ дал типичное ускорение на 31–56%. Авторы предупреждают о двух невидимых рисках — раздувании кода и когнитивном долге — которые краткосрочные метрики не захватывают.

Прочесть об исследовании

Java Rock Stars Meetup к нам приходит

Время на прочтение2 мин
Охват и читатели6.1K

Привет, Хабр!

Вот мы уже полтора месяца в новом году, пора бы встретиться и обсудить насущные вопросы, что думаете?

Это мы приглашаем вас на наш первый в 2026 году Java Rock Stars Meetup. Надеемся, вы соскучились по нам и нашим митапам так же сильно, как и мы по вам!

Регистрация открыта, но количество мест ограничено.

Читать далее

Гибкость технического интервью

Уровень сложностиСложный
Время на прочтение29 мин
Охват и читатели7.2K

Для кого статья: для собеседующих в первую очередь, и для кандидатов.
О чём статья: о задачах, разработанных мною для технических интервью бэкенд-разработчиков уровня middle и выше.
Об авторе: лид стрима в облачном провайдере, набирал большую часть команды в 2024-2025, пришлось скорректировать процесс проведения интервью.

В прошлой статье я рассказывал об этапах проводимых мною собеседований. Рассказывал об особенностях найма в IT в 2024-25. Были немного обрисованы задачи, мотивация их особенностей, специальные подходы. Теперь пора уделить внимание хардскиловой составляющей. В этой статье подробнее расскажу о задачах и разберу сходные вариации.

Читать далее

Паттерн Transactional Outbox — обеспечиваем консистентность между микросервисами на примере Java

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели8.7K

Разбираем на практике, как гарантировать доставку сообщений в Kafka/RabbitMQ без распределенных транзакций, используя паттерн Transactional Outbox.

В этой статье рассмотрим наиболее полную реализацию паттерна Transactional Outbox, которую можно будет легко расширять и применять в продакшне. Данная статья будет полезна как для разработчиков, которые еще не встречались с данным паттерном, так и тем, кто уже применял его в своей работе.

Читать далее

Программирование, ориентированное на данные, для Java: за пределами record-классов

Уровень сложностиПростой
Время на прочтение22 мин
Охват и читатели8.6K

Record-классы удобны, пока класс = «состояние, всё состояние и ничего кроме». Любое отклонение (API канонического конутруктора не равно внутреннему представлению, нужно наследование) ломает «автогенерацию» и паттерн-деструктурирование (destructuring).

В новом переводе от команды Spring АйО статьи Brian`а Goetz`а, архитектора Java Language, предлагается следующий шаг в направлении data-oriented programming in Java: классы-носители и интерфейсы-носители (они же Carrier classes & interfaces). Концептуально, carrier классы родились из record-ов путем ослабления части их ограничений.

Комментарий от Михаила Поливаха: Друзья, помните, пожалуйста, что данная статья по сути является суммированием обсуждения Carrier классов из JDK Project Amber Mailing List. Я это к тому, что пока непонятно, в какой версии языка carrier классы появятся, и появятся ли они в том виде, в котором представлены в статье. Статью стоит рассматривать как пищу для размышления.

Читать далее

Реальные задачи с собеседований в Яндекс, VK, Ozon и Сбер — Go, Java, Python, React

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели33K

Я сделал сервис, который помогает проходить технические собеседования. Побочный эффект - у меня есть транскрипции 9 247 интервью. В первой части я показал общую аналитику: кто собеседуется, куда, на какие позиции, какие вопросы задают на теории. Эта часть про конкретные задачи на секции live-coding.

Энигма не сохраняет скриншоты экрана - приватность. Зато vision-модель описывает то, что видит кандидат: "код на Go, функция принимает слайс, цикл с горутинами...". По этим слепкам и транскрипциям я восстановил условия самых частых задач. Это было похоже на сборку пазла из 2 000 фрагментов, где половина кусочков одного цвета.

17 задач. 10 компаний. 5 стеков. Go, Java, Python, React, C#. С кодом, статистикой ошибок и выводами, на чём фокусироваться.

Читать далее

HotSpot AOT-кэш: стартуем быстрее, греемся меньше

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели6.7K

В новом переводе от команды Spring АйО рассмотрим, как можно ускорить Java-приложения без переписываний: в свежих JDK появились Ahead-of-Time оптимизации кэша, которые выносят «дорогие» этапы загрузки/линковки классов (и даже частично профилирование методов) из рантайма в заранее подготовленный артефакт.

Рассмотрим как устроен AOT-кэш в JDK 24–26, какие есть workflow (3 шага vs 2 шага/в один прогон), где прячутся подводные камни вроде удвоения требований по памяти при -XX:AOTCacheOutput, и какие практики обучения помогут реально сократить время старта и быстрее выйти на пик производительности.

Читать далее

Veai 5.4: изображения в чате, компрессия контекста и до 70% экономии на Anthropic

Время на прочтение3 мин
Охват и читатели6.7K

Новая версия Veai 5.4 (плагин к IntelliJ IDEA со своим AI агентом для написания кода, тестирования и отладки) — это практичные улучшения для повседневной разработки.

Персональные пользователи теперь могут прикладывать изображения прямо в чат (удобно для фронтенда и UI-тестирования), запросы к моделям Anthropic стали до 70% дешевле за счёт улучшенного кэширования, а большие чаты автоматически сжимаются без дополнительных запросов к LLM.

Появились новые сценарии для автоматического разрешения merge-конфликтов и генерации UI-автотестов из мануальных кейсов, а также гибкие механизмы для целей кибербезопасности — глобальные запреты на чтение и редактирование файлов через .readignore и .writeignore.

Дополняют релиз улучшения интерфейса: единый diff нескольких изменений в чате, настраиваемый размер окна ввода, кнопки копирования и оценки ответов агента (👍 👎), а также более заметное оформление пользовательских сообщений.

Читать далее

История одного безальтернативного переезда. Почему мы выбрали OpenIDE

Время на прочтение16 мин
Охват и читатели9.7K

Всем привет! Сегодня я расскажу, как мы переводили наши Java-команды на новые рельсы.

Проблема:

В прошлом год стало ясно, что покупать лицензии Intellij IDEA проблематично. Предложения с ресурсов вроде «Авито»выглядели сомнительно и небезопасно. И российский рынок разработки очень плотно занялся переездом на свои решения, заказчики требовали использовать сертифицированное по местным реалиям ПО и все такое прочее. О переезде на новую среду не говорил разве что кто-то совсем уж ленивый.

С чего мы начали:

Изучив заново рынок, мы (я и другие лиды, которым на плечи легла эта ноша) стали анализировать доступные решения. Пишем мы чаще всего, используя Spring Framework и технологии около него, хотя иногда и вынуждены адаптироваться к конкретным пожеланиям заказчика и рекомендуемым им технологиям. Но фокус-группа акцентировала внимание вокруг Spring.

Читать далее

Java Digest #32

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели8.1K

Всем привет! 👋👋👋👋👋

Мы — Java-разработчики Т-Банка: Андрей, Арсений, Роман, Константин и Константин. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом.

Читать далее

Ближайшие события

Эволюция Spring: от борьбы с J2EE до реактивности и облаков

Уровень сложностиСредний
Время на прочтение22 мин
Охват и читатели7K

В начале 2000-х на сцену вышел Spring Framework — сначала как скромная альтернатива, а затем как настоящая революция в Java-мире. Он предложил радикально иной подход: простоту, ориентированность на бизнес-логику и свободу от излишней инфраструктурной навязчивости.

Цель статьи — рассмотреть Spring как эволюционирующий инструмент. Мы проследим, как менялись его идеи, подходы и архитектурные парадигмы: от борьбы с J2EE до микросервисов, реактивности и cloud-native-приложений. Каждая эпоха диктовала свои вызовы — и Spring неоднократно перерождался, чтобы оставаться актуальным.

Читать далее

Explyt Spring. Tools for MCP Server plugin

Время на прочтение4 мин
Охват и читатели5.9K

Всем привет! На связи команда Explyt Spring. Недавно у нас вышел очередной релиз, который включает поддержку MCP Server plugin. Мы добавили “тулы”, облегчающие работу со Spring проектами для LLM. Ранее у нас уже была статья, в которой мы рассказывали об интеграции с Explyt AI плагином. Это были простые промпты для генерации: DTO, Entity, SQL скриптов и прочего. Несмотря на свою простоту, они добавляли в промпт необходимую информацию для выполнения конкретного действия: необходимый файл, тип БД - который подключен к проекту, библиотека для работы с Entity - javax или jakarta и прочее. Теперь пришло время добавить полноценные агентские Spring "тулы" для LLM, чтобы более точно понимать контекст Spring приложения.

Читать далее

Дело о ненужной рекомендательной системе, сделанной с помощью AI

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели5.7K

О проблемах найма я узнал не из аналитических отчётов — а потому что сам оказался внутри рынка труда. С одной стороны — как кандидат, с другой — как человек, работавший с HR и процессами найма.

Так же читая новости и статьи, в том числе на Хабре, как стремительно развивается AI в разработке, решил реализовать инженерный эксперимент и создать MVP рекомендательной системы для HR.

В этой статье делаю разбор того что получилось в итоге:

как архитектура и BDD стали “ограничителями” для агента

как я формировал и тестировал требования с помощью AI

как сформировал RAG/контекст для AI агента

с какими проблемами столкнулся и что сработало

где мое место в процессе разработки

какие skills потребовались мне и какие в итоге сформировал для AI агента

Читать далее

Подход к теме Generics

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели4.9K

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

Итак. Есть такой простейший код:

Читать далее

Школы программирования с менторского плеча

Время на прочтение8 мин
Охват и читатели7.9K

Я видел курсы с обоих сторон: со стороны студента и со стороны ментора. В этой статье хочется поделиться моим субъективным мнением по поводу этого всего.

У меня есть опыт менторства в разных школах программирования, возможно кому-то эти мысли помогут при выборе (а скорее отказе от школы программирования)

Хотите узнать про этот опыт - добро пожаловать под кат.

Давай узнаем, что там за школы такие...

Что нового в GigaIDE за январь 2026

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели6K

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

Итак, начнём!

Читать далее

Под капотом Android Automotive: Что такое VHAL и почему это сердце машины

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели5.8K

В прошлой статье мы запустили эмулятор и убедились, что Android Automotive OS (AAOS) — это не просто зеркало вашего телефона. Это самостоятельная экосистема. Но пока мы запускали только стандартные медиа-плееры, мы скользили по поверхности.

Настоящая магия начинается там, где софт встречается с «железом».

В телефоне у вас есть стандартный набор датчиков: GPS, акселерометр, гироскоп. В современном автомобиле таких датчиков тысячи: от давления в шинах и температуры масла до угла поворота руля и статуса каждой двери. Как Android-разработчику получить доступ к этому океану данных? Не будем же мы тянуть провода к OBDII разъему?

Конечно, нет. Для этого Google построила мощный мост, по которому мы сегодня и пройдемся. Добро пожаловать в мир Car API и VHAL.

Читать далее