Рубрика «java» - 15

В мире микросервисов зачастую возникает нужда в быстром общении между сервисами, как альтернатива Rest API к нам на помощь приходит gRPC. Статья будет посвящена реализации gRPC с помощью Spring Boot и Java 17, и будет полезна тем, кто начинает своё знакомство с gRPC.

Немного теории

Схема общения микросервисов

Схема общения микросервисов

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

В этой статье мы повторим основные концепции предметно-ориентированного проектирования (Domain-Driven Design, DDD) и покажем, как с помощью jMolecules можно выразить технические аспекты в виде метаданных.

Мы изучим, какие преимущества дает такой подход, а также обсудим интеграцию jMolecules с популярными библиотеками и фреймворками из экосистемы Java и Spring.

Наконец, мы посмотрим на интеграцию с ArchUnit и узнаем, как использовать его для проверки, что структура исходников соответствует принципам DDD.

Цель jMolecules

jMolecules - это библиотека, которая позволяет явно выражать архитектурные концепции, улучшая читаемость кода. В Читать полностью »

JForge: Создаем свою мини-IDE на Java Swing с нуля (с темной темой и подсветкой синтаксиса!) - 1

Jacquard

Ссылка на GitHub: https://github.com/Jacqquard

Каждый из нас, Java-разработчиков, хоть раз задумывался: "Читать полностью »

Привет! В этой статье я немного объясню важность graceful shutdown и расскажу как сделать плавное завершение работы твоего Spring Boot приложения, которое взаимодействует с Kafka.

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

Pasted image 20250504062224.png

На хабре и в остальном интернете хватает статей с критикой ООП. Кто-то ругает эту концепцию за излишнюю многословность, кто-то рассуждает о плохих аспектах ООП, кто-то сравнивает реализации ООП в разных языках.

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

eBPF vs BitDive: Сравнение решений для системного и прикладного профилирования

Разбираем разницу между eBPF и BitDive: системное профилирование против глубокого анализа Java-приложений. Что выбрать для продакшена?

Зачем вообще нужен профайлинг в проде?

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

Здесь в игру вступают два подхода:

Допустим есть 2 таблицы в любой реляционной базе данных.
Таблица users весом 4TB

id

firstname

lastname

1

Egor

Myasnik

2

Pavel

Hvastun

3

Mitya

Volk

Таблица domains 2TB

id

user_id

domain_name

1

1

Approval

2

1

Rejection

3

1

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

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

Разработчики зачастую пишут код (скелет), используя наивные алгоритмы и не используя валидаторы (предполагая изменить код позже либо ошибочно предположив что объем данных будет небольшим).

Не так давно попался один тикет с жалобой на зависание in‑house приложения которое обрабатывает adobe pdf документы (печатает в png изображение для web клиентов).

Приложение использует библиотеку apache pdfbox.

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

Хороших технических статей про Go было написано немало, и эта — не одна из них. Эта статья — графомания о моём субъективном и эмоциональном опыте перехода со Scala на Go.

Как функциональщик в Go ушёл… и не вернулся - 1

Руководитель: Хочешь техлидить новый проект?

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

Single Sign-On плагин для Sonatype Nexus Repository - 1

Привет! Сегодня я хочу рассказать о своём проекте - Single Sign-On плагин для Sonatype Nexus Repository.

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


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