Рубрика «java»

Фото: Markus Spiske

Фото: Markus Spiske

Обновление (июнь 2026). Цифры в статье — это срез на март 2026 года: 247 разобранных интервью. С тех пор база заметно выросла — сейчас в ней более 1200 переработанных собеседований и свыше 10 000 вопросовЧитать полностью »

Неторопливая (ревизии 000e) «Малинка» в картонной коробке практикует «клятый энтерпрайз»

Неторопливая (ревизии 000e) «Малинка» в картонной коробке практикует «клятый энтерпрайз»

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

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

TL;DR

Небольшая команда сделала мод-социальную-сеть для Minecraft, который объединяет в общий граф друзей игроков на любых поддерживаемых версиях клиента — от 1.7.10 до 1.21.1. Поддерживаются три популярных загрузчика модов и любые клиенты Minecraft, как лицензионные, так и офлайн. Серверная часть, веб-админка, обвязка и документация — всё своё.

Главное, что хотелось рассказать: дисциплина (не скорость) была решающим ресурсом, и Читать полностью »

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

Да ещё и провайдеры ИИ призывают тратить больше токенов, руководители всё чаще призывают команды активнее пользоваться ИИ. В соцсетях регулярно попадаются шуточные видео про то, как CEO предлагает потреблять токены ради самого потребления, а в медиа уже обсуждают tokenmaxxing: сотрудники и команды соревнуются в потреблении AI-токенов, а один инженер OpenAI, по данным New York TimesЧитать полностью »

Всем привет! Хочу рассказать, как мы небольшой командой проектировали кэш поиска отелей для сервиса по бронированию отелей и почему за полтора года прошли путь от Infinispan к managed Redis а затем к Postgres. По стеку java-21, spring-boot-3, 1 вендор отелей, расчетная нагрузка 1000 RPS и 10M запросов в сутки.

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

Привет.

Я Java-разработчик и в основном работаю с backend: Spring Boot, базы данных, интеграции, авторизация, WebSocket — всё то, что обычно находится за интерфейсом.

В какой-то момент я поймал себя на мысли: я каждый день пользуюсь мессенджерами, но плохо понимаю, как они устроены внутри. Окей, JWT, WebSocket, PostgreSQL, Redis — это понятно. Но что технически означает фраза “end-to-end encryption”? Как сервер доставляет сообщения, если он не должен их читать? Где живут ключи? Что хранится в базе? Что происходит, если у пользователя два устройства?

Решил разобраться через практику. Написал мессенджер с нуля. Назвал Chaos Messenger.

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

С чего всё началось: проблема, которая бесила

В мире Java для генерации PDF исторически есть три лагеря:

  1. Низкоуровневые рисовалки — iText, PDFBox. Быстро, мощно, но ты буквально пишешь на бумаге пиксели координатами. Любой инвойс превращается в 200 строк contentStream.beginText() / setFont() / newLineAtOffset(...). А потом приходит дизайнер и говорит: «отступ должен быть 14, а не 12».

  2. Шаблонные движки — JasperReports, OpenPDF. Удобно для отчётов, но XML-шаблон — это отдельный язык, отдельный инструментарий, отдельная боль на ревью. Изменения логики растекаются между Java-кодом, JRXML и DTO.

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

Новый дачный сезон с Java, управлением сервера без интернета и AI моделью - 1

Всем привет! Меня зовут Александр, это моя первая статья, хочу поделиться с вами историей создания программно-аппаратного open source решения для поддержки и управления сервисами в отсутствии интернета.

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

Автор этих строк (Senior Java Developer) попал под сокращение, потратил месяцы на поиск новой работы и получил, наконец, свой долгожданный оффер. Хочу поделиться полезными для коллег по IT-цеху заметками на полях. Сразу скажу, что у них есть своя специфика, ибо не все из вас разрабы, джависты и сеньоры, но уж простите, чем богат - тем и готов поделиться.

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

Всем привет! Недавно столкнулся с проблемой, что в настоящее время большая часть обучающих материалов по Retrieval‑Augmented Generation (RAG) сосредоточена на Python‑экосистеме (LangChain, LlamaIndex и тому подобное), а пошаговые руководства, которые показывают, как быстро собрать рабочее RAG‑приложение на чистом Java‑стеке, встречаются крайне редко. Эта статья представляет собой простое практическое руководство, где мы разберём весь процесс от настройки окружения до полного примера кода, чтобы даже начинающий Java‑разработчик мог развернуть RAG.

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

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