Проблемно-ориентированная система на основе консольных JAVA приложений
Привет, Хабр! Хочу поделиться опытом разработки такой системы. Определяющими параметрами проблемно‑ориентированной системы являются.
Читать: https://habr.com/ru/articles/974038/?utm_campaign=974038
@a_cup_of_java | Другие наши каналы
Привет, Хабр! Хочу поделиться опытом разработки такой системы. Определяющими параметрами проблемно‑ориентированной системы являются.
Читать: https://habr.com/ru/articles/974038/?utm_campaign=974038
@a_cup_of_java | Другие наши каналы
“JavaScript — это плохо, а Java — это хорошо”. AI, вайб-кодинг, Spring и рынок труда: что волнует джавистов сегодня
На конференции Joker 2025 у нас была отличная возможность понять, как живётся Java-сообществу.
Как AI влияет на Java-разработку? Вайб-кодинг — полезный инструмент или угроза рабочим местам? Spring — незаменимый фреймворк или слишком тяжёл для многих задач? Что с рынком труда и зачем кандидаты накручивают опыт? И главное — зачем писать на Java, если есть JavaScript?
Смотрите на YouTube и VK Видео
Читать: https://habr.com/ru/companies/axiomjdk/articles/973764/?utm_campaign=973764
@a_cup_of_java | Другие наши каналы
На конференции Joker 2025 у нас была отличная возможность понять, как живётся Java-сообществу.
Как AI влияет на Java-разработку? Вайб-кодинг — полезный инструмент или угроза рабочим местам? Spring — незаменимый фреймворк или слишком тяжёл для многих задач? Что с рынком труда и зачем кандидаты накручивают опыт? И главное — зачем писать на Java, если есть JavaScript?
Смотрите на YouTube и VK Видео
Читать: https://habr.com/ru/companies/axiomjdk/articles/973764/?utm_campaign=973764
@a_cup_of_java | Другие наши каналы
😁1
Три способа менять один объект из нескольких потоков. Больше нет
Три способа менять один объект из нескольких потоков. Больше нет
Mutex, CAS, акторы, STM, CRDT, иммутабельность, MVCC, Disruptor…
Когда читаешь про многопоточность, кажется, что способов — десятки, и каждый требует отдельного изучения.
На самом деле их ровно три. Всё остальное — реализации и комбинации.
Эта статья — попытка навести порядок в голове. После неё вы сможете:
за 5 секунд классифицировать любой подход к конкурентности;
понимать, почему Erlang выбрал акторы, а Java предлагает
не изобретать велосипеды и не зацикливаться на «единственно правильном» решении;
проектировать многопоточный код, держа в голове простую модель
Читать: https://habr.com/ru/articles/974198/?utm_campaign=974198
@a_cup_of_java | Другие наши каналы
Три способа менять один объект из нескольких потоков. Больше нет
Mutex, CAS, акторы, STM, CRDT, иммутабельность, MVCC, Disruptor…
Когда читаешь про многопоточность, кажется, что способов — десятки, и каждый требует отдельного изучения.
На самом деле их ровно три. Всё остальное — реализации и комбинации.
Эта статья — попытка навести порядок в голове. После неё вы сможете:
за 5 секунд классифицировать любой подход к конкурентности;
понимать, почему Erlang выбрал акторы, а Java предлагает
synchronized;не изобретать велосипеды и не зацикливаться на «единственно правильном» решении;
проектировать многопоточный код, держа в голове простую модель
Читать: https://habr.com/ru/articles/974198/?utm_campaign=974198
@a_cup_of_java | Другие наши каналы
Java-новости: JDK 26 в Rampdown, JDK 27, TornadoVM 2.0 и Spring gRPC 1.0.
Кратко: InfoQ сообщает, что JDK 26 перешёл в Rampdown Phase One, сформирована экспертная группа JDK 27; вышли GlassFish 7.1, TornadoVM 2.0 и Spring gRPC 1.0, также обновлены Open Liberty, JHipster и Hibernate.
Подробности: https://www.infoq.com/news/2025/12/java-news-roundup-dec01-2025/
#en
@a_cup_of_java | Другие наши каналы
Кратко: InfoQ сообщает, что JDK 26 перешёл в Rampdown Phase One, сформирована экспертная группа JDK 27; вышли GlassFish 7.1, TornadoVM 2.0 и Spring gRPC 1.0, также обновлены Open Liberty, JHipster и Hibernate.
Подробности: https://www.infoq.com/news/2025/12/java-news-roundup-dec01-2025/
#en
@a_cup_of_java | Другие наши каналы
BellSoft выпустил Hardened Images для Java
Как пишет InfoQ, на KubeCon 2025 BellSoft представил Hardened Images — контейнеры на базе Alpaquita Linux и Liberica JDK Lite. Компания обещает снижение известных уязвимостей до 95%, экономию ресурсов до 30%, SBOM и три уровня поддержки.
Подробности: https://www.infoq.com/news/2025/12/bellsoft-hardened-images/
#en
@a_cup_of_java | Другие наши каналы
Как пишет InfoQ, на KubeCon 2025 BellSoft представил Hardened Images — контейнеры на базе Alpaquita Linux и Liberica JDK Lite. Компания обещает снижение известных уязвимостей до 95%, экономию ресурсов до 30%, SBOM и три уровня поддержки.
Подробности: https://www.infoq.com/news/2025/12/bellsoft-hardened-images/
#en
@a_cup_of_java | Другие наши каналы
❤1
Помогите, мой Java-объект исчез (и GC тут ни при чём)
Команда Spring АйО подготовила перевод разбора реального бага в HotSpot от разработчика OpenJDK. Во время работы над Project Valhalla его Java-объекты и классы начали «исчезать» без участия сборщика мусора — и поиск причины привёл к одному неверному биту в заголовке объекта, miscompilation в C2 и очень нетривиальному отладочному квесту. Этот текст показывает, как устроены mark word и Compact Object Headers, чем живёт Valhalla и как системное мышление плюс флаги JVM помогают выловить самые коварные ошибки.
Читать: https://habr.com/ru/companies/spring_aio/articles/973214/?utm_campaign=973214
@a_cup_of_java | Другие наши каналы
Команда Spring АйО подготовила перевод разбора реального бага в HotSpot от разработчика OpenJDK. Во время работы над Project Valhalla его Java-объекты и классы начали «исчезать» без участия сборщика мусора — и поиск причины привёл к одному неверному биту в заголовке объекта, miscompilation в C2 и очень нетривиальному отладочному квесту. Этот текст показывает, как устроены mark word и Compact Object Headers, чем живёт Valhalla и как системное мышление плюс флаги JVM помогают выловить самые коварные ошибки.
Читать: https://habr.com/ru/companies/spring_aio/articles/973214/?utm_campaign=973214
@a_cup_of_java | Другие наши каналы
Fray: инструмент для поиска ошибок конкурентности в JVM
InfoQ: Carnegie Mellon представил Fray (на Kotlin). Инструмент использует shadow locking, воспроизводит дедлоки и другие многопоточные баги, поддерживает JDK 25, интегрируется с Maven/Gradle и JUnit, уже нашёл баги в JDK, Lucene и Kafka.
Подробности: https://www.infoq.com/news/2025/12/fray-detects-concurrency-issues/
#en
@a_cup_of_java | Другие наши каналы
InfoQ: Carnegie Mellon представил Fray (на Kotlin). Инструмент использует shadow locking, воспроизводит дедлоки и другие многопоточные баги, поддерживает JDK 25, интегрируется с Maven/Gradle и JUnit, уже нашёл баги в JDK, Lucene и Kafka.
Подробности: https://www.infoq.com/news/2025/12/fray-detects-concurrency-issues/
#en
@a_cup_of_java | Другие наши каналы
OpenIDE 2025.2: поддержка Java 25, Virtual Thread Debugging и обновления UI
Вышла OpenIDE 2025.2 — первая российская IDE с поддержкой Java 25. Мы идём в ногу с платформой и остаёмся на самом острие технологий. Но не только этим релиз интересен: в нём появилась улучшенная отладка виртуальных потоков, обновления связанные с UI, а ещё пара важных обновлений экосистемы.
Поехали по порядку.
Читать: https://habr.com/ru/companies/haulmont/articles/974460/?utm_campaign=974460
@a_cup_of_java | Другие наши каналы
Вышла OpenIDE 2025.2 — первая российская IDE с поддержкой Java 25. Мы идём в ногу с платформой и остаёмся на самом острие технологий. Но не только этим релиз интересен: в нём появилась улучшенная отладка виртуальных потоков, обновления связанные с UI, а ещё пара важных обновлений экосистемы.
Поехали по порядку.
Читать: https://habr.com/ru/companies/haulmont/articles/974460/?utm_campaign=974460
@a_cup_of_java | Другие наши каналы
Миграция демо-проекта на Spring Boot 4, Spring 7.0, JDK 25
Продолжаю серию публикаций про наши Java-онлайн курсы. Предыдущие посты:
Тесты на дженериках. Параметризация AssertJ и сравнение Json через объекты
Контроллеры на дженериках: пишем кода в 3 раза меньше
Миграция Java Spring Boot на Kotlin
Работа с документами в Java
Как многие знают, недавно вышел Spring Boot 4 / Spring 7.0. В постах компании@spring_aio есть несколько статей по новому функционалу.
Я мигрировал наш небольшой учебный демо-проект Spring Boot 3.x HATEOAS (ссылка на GitHub) на Spring Boot 4 и добавил API версионирование. В статье даю ссылки на новый функционал, описываю шаги миграции и код проекта. Буду рад читателям:)
Читать: https://habr.com/ru/articles/974962/?utm_campaign=974962
@a_cup_of_java | Другие наши каналы
Продолжаю серию публикаций про наши Java-онлайн курсы. Предыдущие посты:
Тесты на дженериках. Параметризация AssertJ и сравнение Json через объекты
Контроллеры на дженериках: пишем кода в 3 раза меньше
Миграция Java Spring Boot на Kotlin
Работа с документами в Java
Как многие знают, недавно вышел Spring Boot 4 / Spring 7.0. В постах компании@spring_aio есть несколько статей по новому функционалу.
Я мигрировал наш небольшой учебный демо-проект Spring Boot 3.x HATEOAS (ссылка на GitHub) на Spring Boot 4 и добавил API версионирование. В статье даю ссылки на новый функционал, описываю шаги миграции и код проекта. Буду рад читателям:)
Читать: https://habr.com/ru/articles/974962/?utm_campaign=974962
@a_cup_of_java | Другие наши каналы
Как мы писали мониторинг доступности приложений в разных регионах Amvera
Всем привет! Иногда внутренний мониторинг не даёт полной картины, что все работает как надо. И полезно сделать внешний пинг и посмотреть, действительно ли нужный проект доступен.
Сегодня мы расскажем, как решали эту задачу для себя, и выложим код в Open Source, который вы сможете применить для простого мониторинга своих проектов. И да, мы знаем про существование специализированных сервисов для решения этой задачи, но всегда веселее написать свой скрипт.
Читать: https://habr.com/ru/companies/amvera/articles/975236/?utm_campaign=975236
@a_cup_of_java | Другие наши каналы
Всем привет! Иногда внутренний мониторинг не даёт полной картины, что все работает как надо. И полезно сделать внешний пинг и посмотреть, действительно ли нужный проект доступен.
Сегодня мы расскажем, как решали эту задачу для себя, и выложим код в Open Source, который вы сможете применить для простого мониторинга своих проектов. И да, мы знаем про существование специализированных сервисов для решения этой задачи, но всегда веселее написать свой скрипт.
Читать: https://habr.com/ru/companies/amvera/articles/975236/?utm_campaign=975236
@a_cup_of_java | Другие наши каналы
Hibernate Validator 9.1: самый мощный апгрейд за последние годы
Что, если ваш валидатор стал бы в 3 раза быстрее и потреблял бы вдвое меньше памяти — без единой правки бизнес-логики? Именно это случилось с Hibernate Validator 9.1: ушли тяжёлые коллекции, пришёл умный стек. Каскадная валидация теперь летает, даже при циклах в графе объектов.
Плюс бонус: меньше мусора в памяти, меньше аллокаций, быстрее интерполяция сообщений. В бенчмарках — просто космос. Все это – в новом переводе от команды Spring АйО.
Комментарий Поливаха Михаила: Несмотря на то, что с валидацией мы напрямую работаем не часто, имейте в виду, что Spring Boot и ваши
Читать: https://habr.com/ru/companies/spring_aio/articles/975422/?utm_campaign=975422
@a_cup_of_java | Другие наши каналы
Что, если ваш валидатор стал бы в 3 раза быстрее и потреблял бы вдвое меньше памяти — без единой правки бизнес-логики? Именно это случилось с Hibernate Validator 9.1: ушли тяжёлые коллекции, пришёл умный стек. Каскадная валидация теперь летает, даже при циклах в графе объектов.
Плюс бонус: меньше мусора в памяти, меньше аллокаций, быстрее интерполяция сообщений. В бенчмарках — просто космос. Все это – в новом переводе от команды Spring АйО.
Комментарий Поливаха Михаила: Несмотря на то, что с валидацией мы напрямую работаем не часто, имейте в виду, что Spring Boot и ваши
@RestController-ы под капотом всё равно используют hibernate-validator. Поэтому почитайте, не поленитесь.Читать: https://habr.com/ru/companies/spring_aio/articles/975422/?utm_campaign=975422
@a_cup_of_java | Другие наши каналы
👍1
Elasticsearch: реляционная база данных против поискового движка — Битва Титанов
В мире разработки часто возникает соблазн использовать знакомый инструмент для всех задач. Зачем изучать что-то новое, если есть проверенная реляционная база данных (РСУБД), такая как PostgreSQL или MySQL? Однако, когда дело доходит до реализации мощного, быстрого и релевантного поиска, этот подход терпит неудачу.
Elasticsearch — это не просто база данных, это распределенный поисковый и аналитический движок. В этой статье мы проведем детальное сравнение Elasticsearch и реляционных баз данных, разберемся в их архитектурных различиях и определим, когда каждый из инструментов становится титаном в своей нише.
Чтобы статья была максимально практико-ориентированной, мы рассмотрим, как с помощью Spring Boot быстро поднять приложение с интегрированным Elasticsearch и реализовать поиск, который «летает».
Читать: https://habr.com/ru/companies/otus/articles/975368/?utm_campaign=975368
@a_cup_of_java | Другие наши каналы
В мире разработки часто возникает соблазн использовать знакомый инструмент для всех задач. Зачем изучать что-то новое, если есть проверенная реляционная база данных (РСУБД), такая как PostgreSQL или MySQL? Однако, когда дело доходит до реализации мощного, быстрого и релевантного поиска, этот подход терпит неудачу.
Elasticsearch — это не просто база данных, это распределенный поисковый и аналитический движок. В этой статье мы проведем детальное сравнение Elasticsearch и реляционных баз данных, разберемся в их архитектурных различиях и определим, когда каждый из инструментов становится титаном в своей нише.
Чтобы статья была максимально практико-ориентированной, мы рассмотрим, как с помощью Spring Boot быстро поднять приложение с интегрированным Elasticsearch и реализовать поиск, который «летает».
Читать: https://habr.com/ru/companies/otus/articles/975368/?utm_campaign=975368
@a_cup_of_java | Другие наши каналы
Больше никаких велосипедов: готовый Spring Boot Starter для Telegram-ботов
После создания примерно десятка Telegram-ботов я понял, что архитектура, конфигурации и маршрутизация повторяются из проекта в проект. Готовых актуальных решений для Spring Boot я не нашёл. Поэтому разработал собственный Telegram Bot Spring Boot Starter: с прозрачным пайплайном, набором готовых компонентов и возможностью гибкой кастомизации.
В статье я расскажу, какие проблемы он решает, как устроен внутри, как его использовать и почему он оказался намного удобнее обычных self-made конфигураций.
Читать: https://habr.com/ru/articles/975552/?utm_campaign=975552
@a_cup_of_java | Другие наши каналы
После создания примерно десятка Telegram-ботов я понял, что архитектура, конфигурации и маршрутизация повторяются из проекта в проект. Готовых актуальных решений для Spring Boot я не нашёл. Поэтому разработал собственный Telegram Bot Spring Boot Starter: с прозрачным пайплайном, набором готовых компонентов и возможностью гибкой кастомизации.
В статье я расскажу, какие проблемы он решает, как устроен внутри, как его использовать и почему он оказался намного удобнее обычных self-made конфигураций.
Читать: https://habr.com/ru/articles/975552/?utm_campaign=975552
@a_cup_of_java | Другие наши каналы
✍3👍2
Fluent API. Часть 1 — это вообще о чём?
В то время как аналитики жарко спорят на тему станет ли основным языком программирования 6-го (видимо) поколения английский или все-таки китайский предлагаю поговорить немного на другую тему, но в том же направлении: как сделать код программы ближе к человеку?
Один из ответов на этот вопрос зародился еще в 70-х годах прошлого столетия как method chaining в рамках языка Smalltalk и, благодаря стараниям Эрика Эванса и Мартина Фаулера дошел до нас как Fluent API.
Читать: https://habr.com/ru/articles/968114/?utm_campaign=968114
@a_cup_of_java | Другие наши каналы
В то время как аналитики жарко спорят на тему станет ли основным языком программирования 6-го (видимо) поколения английский или все-таки китайский предлагаю поговорить немного на другую тему, но в том же направлении: как сделать код программы ближе к человеку?
Один из ответов на этот вопрос зародился еще в 70-х годах прошлого столетия как method chaining в рамках языка Smalltalk и, благодаря стараниям Эрика Эванса и Мартина Фаулера дошел до нас как Fluent API.
Читать: https://habr.com/ru/articles/968114/?utm_campaign=968114
@a_cup_of_java | Другие наши каналы
Fluent API. Часть 2 — а оно нам надо?
Продолжаем разговор о Fluent API. И теперь, после того как мы из предыдущей статьи (или/и личного опыта) узнали о том что это чудо из себя представляет давайте разберемся зачем оно нужно?
Читать: https://habr.com/ru/articles/968508/?utm_campaign=968508
@a_cup_of_java | Другие наши каналы
Продолжаем разговор о Fluent API. И теперь, после того как мы из предыдущей статьи (или/и личного опыта) узнали о том что это чудо из себя представляет давайте разберемся зачем оно нужно?
Читать: https://habr.com/ru/articles/968508/?utm_campaign=968508
@a_cup_of_java | Другие наши каналы
Fluent API. Часть 3 — что нам стоит Fluent API построить?
Теперь, после того как в предыдущей статье так красочно описаны преимущества Fluent API появилось опасение что все эти “плюшки” просто не могут быть бесплатными. Наверняка это очень дорого, или нет?
Читать: https://habr.com/ru/articles/973168/?utm_campaign=973168
@a_cup_of_java | Другие наши каналы
Теперь, после того как в предыдущей статье так красочно описаны преимущества Fluent API появилось опасение что все эти “плюшки” просто не могут быть бесплатными. Наверняка это очень дорого, или нет?
Читать: https://habr.com/ru/articles/973168/?utm_campaign=973168
@a_cup_of_java | Другие наши каналы
OpenIDE Pro: ответ на запросы бизнеса и разработчиков одновременно
Привет! Я Фёдор, CEO OpenIDE. За год с момента анонса OpenIDE выросла в стабильную, привычную и активно используемую IDE, которую всё чаще выбирают разработчики и компании. Мы создали её быстрой, предсказуемой и полностью доступной — и теперь готовы к следующему шагу.
В этой статье — что мы сделали, зачем мы это делаем и куда дальше движется OpenIDE.
Читать: https://habr.com/ru/companies/axiomjdk/articles/972938/?utm_campaign=972938
@a_cup_of_java | Другие наши каналы
Привет! Я Фёдор, CEO OpenIDE. За год с момента анонса OpenIDE выросла в стабильную, привычную и активно используемую IDE, которую всё чаще выбирают разработчики и компании. Мы создали её быстрой, предсказуемой и полностью доступной — и теперь готовы к следующему шагу.
В этой статье — что мы сделали, зачем мы это делаем и куда дальше движется OpenIDE.
Читать: https://habr.com/ru/companies/axiomjdk/articles/972938/?utm_campaign=972938
@a_cup_of_java | Другие наши каналы
Java Trends 2025: LTS, AI и модернизация
InfoQ: Java 25 стал LTS с улучшениями читаемости, производительности и новыми языковыми фичами. На JVM ускоряется внедрение AI (Spring AI, LangChain4j, Embabel, Koog). Растёт модернизация приложений, OpenRewrite и прогресс Jakarta EE 11/12. Новое в Java: модернизация, AI и Jakarta EE
В свежем обзоре отмечают рост спроса на модернизацию Java‑приложений: миграции со старых версий и Swing в веб, автоматизация обновлений, Jakarta EE 11/12, интеграция AI в JVM, Project Loom, GraalVM и возвращение к on‑prem. Что нового в Java: обзор InfoQ
Краткая подборка материалов InfoQ о Java: Jakarta EE, GraalVM, JDK, Spring AI и InfoQ Trends 2025, а также популярные статьи о Durable Functions в AWS, безопасности GenAI и задачах платформенной инженерии.
Подробности: https://www.infoq.com/articles/java-trends-report-2025/
#en
@a_cup_of_java | Другие наши каналы
InfoQ: Java 25 стал LTS с улучшениями читаемости, производительности и новыми языковыми фичами. На JVM ускоряется внедрение AI (Spring AI, LangChain4j, Embabel, Koog). Растёт модернизация приложений, OpenRewrite и прогресс Jakarta EE 11/12. Новое в Java: модернизация, AI и Jakarta EE
В свежем обзоре отмечают рост спроса на модернизацию Java‑приложений: миграции со старых версий и Swing в веб, автоматизация обновлений, Jakarta EE 11/12, интеграция AI в JVM, Project Loom, GraalVM и возвращение к on‑prem. Что нового в Java: обзор InfoQ
Краткая подборка материалов InfoQ о Java: Jakarta EE, GraalVM, JDK, Spring AI и InfoQ Trends 2025, а также популярные статьи о Durable Functions в AWS, безопасности GenAI и задачах платформенной инженерии.
Подробности: https://www.infoq.com/articles/java-trends-report-2025/
#en
@a_cup_of_java | Другие наши каналы
Forwarded from Типичный программист
Летим зимовать ✈️
Когда холодает, айтишники пакуют чемоданы, а мы разыгрываем ваучер на 50 000 рублей в Островке.
Поехать к морю или остаться среди снежных пейзажей — выбирайте сами!
Чтобы участвовать, нужно оставить любую реакцию под этим постом и подписаться на каналы ниже:
😎 Типичный программист
🐸 Библиотека программиста
🟢 Ostrovok! Tech
Теперь осталось нажать на кнопку участия под этим постом и вы в игре!
Итоги подведём 12 декабря. Победителя выберем с помощью бота. Подробнее с правилами можно ознакомиться здесь.
Всем удачи!
Участников: 621
Призовых мест: 1
Дата розыгрыша: 19:00, 12.12.2025 MSK (1 день)
Когда холодает, айтишники пакуют чемоданы, а мы разыгрываем ваучер на 50 000 рублей в Островке.
Поехать к морю или остаться среди снежных пейзажей — выбирайте сами!
Чтобы участвовать, нужно оставить любую реакцию под этим постом и подписаться на каналы ниже:
Теперь осталось нажать на кнопку участия под этим постом и вы в игре!
Итоги подведём 12 декабря. Победителя выберем с помощью бота. Подробнее с правилами можно ознакомиться здесь.
Всем удачи!
Участников: 621
Призовых мест: 1
Дата розыгрыша: 19:00, 12.12.2025 MSK (1 день)
Please open Telegram to view this post
VIEW IN TELEGRAM
Как приручить iText8: превращаем HTML в PDF без седых волос
Представьте ситуацию: пятница, вечер, до релиза осталось два дня. Заказчик внезапно вспоминает, что «было бы неплохо генерировать договоры в PDF». Знакомо?
Я оказался в похожей ситуации год назад. Задача казалась тривиальной: взять HTML-шаблон счёта, подставить данные и получить красивый PDF. «Часа на два работы», — подумал я. Как ошибался...
Читать: https://habr.com/ru/articles/975930/?utm_campaign=975930
@a_cup_of_java | Другие наши каналы
Представьте ситуацию: пятница, вечер, до релиза осталось два дня. Заказчик внезапно вспоминает, что «было бы неплохо генерировать договоры в PDF». Знакомо?
Я оказался в похожей ситуации год назад. Задача казалась тривиальной: взять HTML-шаблон счёта, подставить данные и получить красивый PDF. «Часа на два работы», — подумал я. Как ошибался...
Читать: https://habr.com/ru/articles/975930/?utm_campaign=975930
@a_cup_of_java | Другие наши каналы
Структура кода в папке Domain по DDD
В слое Domain 90% проектов с тактическим DDD забыли о самом главном. Сегодня мы вспомним то о чем забыли или узнаем то чего не знали.
Читать: https://habr.com/ru/articles/975936/?utm_campaign=975936
@a_cup_of_java | Другие наши каналы
В слое Domain 90% проектов с тактическим DDD забыли о самом главном. Сегодня мы вспомним то о чем забыли или узнаем то чего не знали.
Читать: https://habr.com/ru/articles/975936/?utm_campaign=975936
@a_cup_of_java | Другие наши каналы