Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise
Что делать, если синхронные REST-вызовы превращают ваши микросервисы в карточный домик? Пора вспомнить проверенные временем паттерны обмена сообщениями. В этой статье разбираем архитектуру Pipes and Filters, Content-Based Router и Idempotent Receiver — те самые кирпичики, на которых держатся надёжные системы. Схемы, best practices для проектирования устойчивых интеграций для Enterprise-разработки.
Читать статью
Наш канал в MAX🟪
Что делать, если синхронные REST-вызовы превращают ваши микросервисы в карточный домик? Пора вспомнить проверенные временем паттерны обмена сообщениями. В этой статье разбираем архитектуру Pipes and Filters, Content-Based Router и Idempotent Receiver — те самые кирпичики, на которых держатся надёжные системы. Схемы, best practices для проектирования устойчивых интеграций для Enterprise-разработки.
Читать статью
Наш канал в MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
VK
Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise
Всем привет, меня зовут Сергей Прощаев. Я Tech Lead и руководитель направления Java | Kotlin разработки в FinTech, а также преподаю на ку..
🔥2
WebFlux vs Virtual Threads: что происходит при 2000 RPS
Всем привет! Меня зовут Александр, и сегодня я расскажу о результатах перевода учебного проекта со Spring WebFlux и Netty на Spring MVC и Tomcat с виртуальными потоками и проверки обоих вариантов под нагрузкой в 2000rps.
Читать статью
Наш канал в MAX🟪
Всем привет! Меня зовут Александр, и сегодня я расскажу о результатах перевода учебного проекта со Spring WebFlux и Netty на Spring MVC и Tomcat с виртуальными потоками и проверки обоих вариантов под нагрузкой в 2000rps.
Читать статью
Наш канал в MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
VK
WebFlux vs Virtual Threads: что происходит при 2000 RPS
Всем привет! Меня зовут Александр, и сегодня я расскажу о результатах перевода учебного проекта со Spring WebFlux и Netty на Spring MVC и..
1👍4🔥3
IDE понимает ваш код. AI-агент — нет. Это можно исправить
Ваша IDE знает о проекте всё — иерархии типов, ссылки между модулями, исходники библиотек, ошибки компиляции. AI-агент ничего из этого не видит и вынужден грепать код и логи. За один выходной можно написать плагин и CLI, которые выставят семантику IDE наружу — и агент получит те же суперсилы, что и вы. В статье — как это сделано на примере Eclipse и JDT, но подход переносим на любую IDE.
Читать статью
Наш канал в MAX🟪
Ваша IDE знает о проекте всё — иерархии типов, ссылки между модулями, исходники библиотек, ошибки компиляции. AI-агент ничего из этого не видит и вынужден грепать код и логи. За один выходной можно написать плагин и CLI, которые выставят семантику IDE наружу — и агент получит те же суперсилы, что и вы. В статье — как это сделано на примере Eclipse и JDT, но подход переносим на любую IDE.
Читать статью
Наш канал в MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
VK
IDE понимает ваш код. AI-агент — нет. Это можно исправить
TL;DR: Ваша IDE знает о проекте всё — иерархии типов, ссылки между модулями, исходники библиотек, ошибки компиляции. AI-агент ничего из э..
👍2🔥2
Playwright vs Selenium на Java: что выбрать для автотестов в 2026 году
Playwright или Selenium на Java — что выбрать для автотестов в 2026 году? Разбираю историю инструментов, различия в локаторах, ожиданиях, стабильности, стоимости поддержки и объясняю, в каких сценариях каждый из них лучше.
Читать статью
Наш канал в MAX🟪
Playwright или Selenium на Java — что выбрать для автотестов в 2026 году? Разбираю историю инструментов, различия в локаторах, ожиданиях, стабильности, стоимости поддержки и объясняю, в каких сценариях каждый из них лучше.
Читать статью
Наш канал в MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Java-разработчики, устали возиться с email-доставкой?
Забудьте о проблемах с SMTP, спамом и «письмах в никуда».
С HaskiMail вы отправляете транзакционные письма быстро, надёжно.
🎁 До конца месяца — 50 000 писем бесплатно!
Почему Java-команды выбирают HaskiMail:
✔️ Готовая официальная библиотека для Java - подключение занимает 2 минуты;
✔️ Отправка письма в 3 строчки кода;
✔️ Высокая доставляемость даже без выделенного IP;
✔️ Транзакционные и маркетинговые письма по разным каналам (никакого влияния на системные уведомления!);
✔️ Поддержка, которая понимает Java и отвечает по делу.
Интегрируйтесь сегодня и сосредоточьтесь на продукте, а не на почтовых серверах.
👉 Попробовать бесплатно!
Забудьте о проблемах с SMTP, спамом и «письмах в никуда».
С HaskiMail вы отправляете транзакционные письма быстро, надёжно.
🎁 До конца месяца — 50 000 писем бесплатно!
Почему Java-команды выбирают HaskiMail:
✔️ Готовая официальная библиотека для Java - подключение занимает 2 минуты;
✔️ Отправка письма в 3 строчки кода;
✔️ Высокая доставляемость даже без выделенного IP;
✔️ Транзакционные и маркетинговые письма по разным каналам (никакого влияния на системные уведомления!);
✔️ Поддержка, которая понимает Java и отвечает по делу.
Интегрируйтесь сегодня и сосредоточьтесь на продукте, а не на почтовых серверах.
👉 Попробовать бесплатно!
❤2👍2🔥2
Как организовать балансировку нагрузки Backend приложений Java Spring Cloud + Kubernetes
Привет! Я Юрий Дергач, я возглавляю ЦК DevOps и релизного управления в РСХБ. Мы с командой развиваем инфраструктуру и автоматизируем разработку продуктов компании. При внедрении наших проектов группы «Экосистема Свое», основанных на стеке Java Spring, в Kubernetes, возникли вопросы, связанные с различными методами балансировки нагрузки между микросервисами.
В этой статье мы обсудим два основных подхода к балансировке нагрузки между Backend-компонентами приложений на стеке Java Spring Cloud в Kubernetes. Мы также рассмотрим преимущества и недостатки каждого метода.
Читать статью
Наш канал в Макс🟪
Привет! Я Юрий Дергач, я возглавляю ЦК DevOps и релизного управления в РСХБ. Мы с командой развиваем инфраструктуру и автоматизируем разработку продуктов компании. При внедрении наших проектов группы «Экосистема Свое», основанных на стеке Java Spring, в Kubernetes, возникли вопросы, связанные с различными методами балансировки нагрузки между микросервисами.
В этой статье мы обсудим два основных подхода к балансировке нагрузки между Backend-компонентами приложений на стеке Java Spring Cloud в Kubernetes. Мы также рассмотрим преимущества и недостатки каждого метода.
Читать статью
Наш канал в Макс
Please open Telegram to view this post
VIEW IN TELEGRAM
VK
Как организовать балансировку нагрузки Backend приложений Java Spring Cloud + Kubernetes
Привет! Я Юрий Дергач, я возглавляю ЦК DevOps и релизного управления в РСХБ. Мы с командой развиваем инфраструктуру и автоматизируем разр..
1👍4🔥2
Как (не) перевернуть строку, или Ох, уж этот Unicode
Поговорим о строках, которые на первый взгляд просты и тривиальны. Разбирать их будем на примере одной задачи на Java, которую вполне себе можно встретить на этапе алгоритмического собеседования в качестве «разогрева»
Читать статью
Наш канал в Макс🟪
Поговорим о строках, которые на первый взгляд просты и тривиальны. Разбирать их будем на примере одной задачи на Java, которую вполне себе можно встретить на этапе алгоритмического собеседования в качестве «разогрева»
Читать статью
Наш канал в Макс
Please open Telegram to view this post
VIEW IN TELEGRAM
VK
Как (не) перевернуть строку, или Ох, уж этот Unicode
Это текстовая версия доклада с Java Rock Star Meetup, с которым выступал Александр Ланцов — ведущий разработчик Мир Plat.Form. Если вы бо..
👍3🔥3
Нагрузочное тестирование с Apache JMeter: Best Practices
Apache JMeter — не просто инструмент. В этой статье разберем, как получать от него реальную пользу. Вы узнаете, почему 80% отчётов о нагрузке бесполезны, как настроить распределённый тест и анализировать не среднее значение, а процентили. Полный гайд от первого HTTPS-скрипта до информативного HTML-отчёта и Best Practices.
Читать статью
Наш канал в Макс🟪
Apache JMeter — не просто инструмент. В этой статье разберем, как получать от него реальную пользу. Вы узнаете, почему 80% отчётов о нагрузке бесполезны, как настроить распределённый тест и анализировать не среднее значение, а процентили. Полный гайд от первого HTTPS-скрипта до информативного HTML-отчёта и Best Practices.
Читать статью
Наш канал в Макс
Please open Telegram to view this post
VIEW IN TELEGRAM
VK
Нагрузочное тестирование с Apache JMeter: Best Practices
Всем привет, меня зовут Сергей Прощаев. Я Tech Lead и руководитель направления Java | Kotlin разработки в FinTech, а также преподаю на ку..
👍2🔥2
Java без розовых очков: какие знания отделяют грейды
Почти каждый разработчик рано или поздно задается вопросом: «Я уже Middle или все еще уверенный Junior?» Опыт растет, задач становится больше, стек шире — но вместе с этим появляется и иллюзия, что раз ты пишешь на Java каждый день, значит, язык знаешь. На практике же границы между грейдами проходят не по количеству лет в профессии и не по числу реализованных фич. Они проходят по глубине понимания: платформы, архитектуры, производительности, работы с данными и собственных ограничений.
Читать статью
Наш канал в Макс🟪
Почти каждый разработчик рано или поздно задается вопросом: «Я уже Middle или все еще уверенный Junior?» Опыт растет, задач становится больше, стек шире — но вместе с этим появляется и иллюзия, что раз ты пишешь на Java каждый день, значит, язык знаешь. На практике же границы между грейдами проходят не по количеству лет в профессии и не по числу реализованных фич. Они проходят по глубине понимания: платформы, архитектуры, производительности, работы с данными и собственных ограничений.
Читать статью
Наш канал в Макс
Please open Telegram to view this post
VIEW IN TELEGRAM
VK
Java без розовых очков: какие знания отделяют грейды
Почти каждый разработчик рано или поздно задается вопросом: «Я уже Middle или все еще уверенный Junior?» Опыт растет, задач становится бо..
🔥3👍2
От регулярок к ANTLR4: три архитектурных решения на парсере бизнес-формул
Три года назад я писал свой первый коммерческий парсер на ANTLR4 — для бизнес-формул аналитической системы. Несколько лет спустя я бы сделал его иначе в трёх центральных местах. Разбираю каждое: левая рекурсия для приоритета операторов, Listener vs Visitor, и почему getText() для повторного парсинга — антипаттерн.
Читать статью
Наш канал в Макс🟪
Три года назад я писал свой первый коммерческий парсер на ANTLR4 — для бизнес-формул аналитической системы. Несколько лет спустя я бы сделал его иначе в трёх центральных местах. Разбираю каждое: левая рекурсия для приоритета операторов, Listener vs Visitor, и почему getText() для повторного парсинга — антипаттерн.
Читать статью
Наш канал в Макс
Please open Telegram to view this post
VIEW IN TELEGRAM
VK
От регулярок к ANTLR4: три архитектурных решения на парсере бизнес-формул
Одна из самых запомнившихся задач за три года коммерческой разработки — парсер бизнес-формул в аналитической системе. Выражения приходили..
👍2🔥2
Оффлайн агент IDE Continue за 15 минут
Я расскажу, как реализовать локального LLM "Agent".
«Что вы получите:
— LLM, который индексирует ваш код и отвечает по контексту
— Генерацию и автоматическую вставку кода / тестов
— Полную работу без интернета и утечек данных
Показываю на примере IntelliJ IDEA, Ollama и Continue.»
Читать статью
Наш канал в Макс🟪
Я расскажу, как реализовать локального LLM "Agent".
«Что вы получите:
— LLM, который индексирует ваш код и отвечает по контексту
— Генерацию и автоматическую вставку кода / тестов
— Полную работу без интернета и утечек данных
Показываю на примере IntelliJ IDEA, Ollama и Continue.»
Читать статью
Наш канал в Макс
Please open Telegram to view this post
VIEW IN TELEGRAM
VK
Оффлайн агент IDE Continue за 15 минут
Я расскажу, как реализовать локального LLM, который будет генерировать текст, код, тесты и сам вставлять результат прямо в ваш проект, ес..
❤3👍3🔥2
Разворачиваем RAG на Java без боли: практический гайд
Всем привет! Недавно столкнулся с проблемой, что в настоящее время большая часть обучающих материалов по Retrieval‑Augmented Generation (RAG) сосредоточена на Python‑экосистеме (LangChain, LlamaIndex и тому подобное), а пошаговые руководства, которые показывают, как быстро собрать рабочее RAG‑приложение на чистом Java‑стеке, встречаются крайне редко. Эта статья представляет собой простое практическое руководство, где мы разберём весь процесс от настройки окружения до полного примера кода, чтобы даже начинающий Java‑разработчик мог развернуть RAG.
Читать статью
Наш канал в Макс🟪
Всем привет! Недавно столкнулся с проблемой, что в настоящее время большая часть обучающих материалов по Retrieval‑Augmented Generation (RAG) сосредоточена на Python‑экосистеме (LangChain, LlamaIndex и тому подобное), а пошаговые руководства, которые показывают, как быстро собрать рабочее RAG‑приложение на чистом Java‑стеке, встречаются крайне редко. Эта статья представляет собой простое практическое руководство, где мы разберём весь процесс от настройки окружения до полного примера кода, чтобы даже начинающий Java‑разработчик мог развернуть RAG.
Читать статью
Наш канал в Макс
Please open Telegram to view this post
VIEW IN TELEGRAM
VK
Разворачиваем RAG на Java без боли: практический гайд
Всем привет! Недавно столкнулся с проблемой, что в настоящее время большая часть обучающих материалов по Retrieval‑Augmented Generation (..
👍2
Когда Java-разработка — это не только Spring
У тех, кто впервые столкнулся с Java-разработкой в последние пять лет, могло сложиться впечатление, что Spring всегда был доминирующим фреймворком, а сам язык предназначен для разработки backend в web-приложениях. Однако пока web-приложения были проще, специализация frontend-разработчика не была такой очевидной, интерфейс обновляли на сервере, а Java поддерживала ряд фреймворков, управляющих динамической HTML-версткой.
Эти фреймворки до сих пор живут в легаси, которое проще поддерживать, чем переписать. Они могут требовать обновлений, когда у регуляторов возникают новые требования или меняется корпоративный стиль оформления интерфейса. А если фреймворк живёт, то к нему желательно иметь подходящий инструмент. Поэтому сегодня мы расскажем сразу про четыре инструмента в GigaIDE PRO, поддерживающие уже не столь трендовые, но достаточно распространённые в среде «кровавого энтерпрайза» фреймворки.
Начнём наш обзор с рассказа про поддержку самых «древних».
Читать статью
Наш канал в Макс🟪
У тех, кто впервые столкнулся с Java-разработкой в последние пять лет, могло сложиться впечатление, что Spring всегда был доминирующим фреймворком, а сам язык предназначен для разработки backend в web-приложениях. Однако пока web-приложения были проще, специализация frontend-разработчика не была такой очевидной, интерфейс обновляли на сервере, а Java поддерживала ряд фреймворков, управляющих динамической HTML-версткой.
Эти фреймворки до сих пор живут в легаси, которое проще поддерживать, чем переписать. Они могут требовать обновлений, когда у регуляторов возникают новые требования или меняется корпоративный стиль оформления интерфейса. А если фреймворк живёт, то к нему желательно иметь подходящий инструмент. Поэтому сегодня мы расскажем сразу про четыре инструмента в GigaIDE PRO, поддерживающие уже не столь трендовые, но достаточно распространённые в среде «кровавого энтерпрайза» фреймворки.
Начнём наш обзор с рассказа про поддержку самых «древних».
Читать статью
Наш канал в Макс
Please open Telegram to view this post
VIEW IN TELEGRAM
VK
Когда Java-разработка — это не только Spring
У тех, кто впервые столкнулся с Java-разработкой в последние пять лет, могло сложиться впечатление, что Spring всегда был доминирующим фр..
🔥1
Circuit Breaker в микросервисах: как защитить систему от каскадных отказов
Представьте: сервис А звонит сервису Б, а тот зависает. Сервис А ждёт, занимает потоки, не освобождает ресурсы. Потом к нему приходит другой сервис — и тоже встаёт в очередь. Так один сбой разрастается по всей системе, как снежный ком. Этот эффект называется каскадным отказом.
Паттерн Circuit Breaker (предохранитель) решает эту проблему. В статье разбираем его на примере ассистента HR с зонтиком, показываем, как настроить Resilience4j, и делимся, какие ошибки стоит (а какие не стоит) учитывать в статистике.
Читать статью
Наш канал в Макс🟪
Представьте: сервис А звонит сервису Б, а тот зависает. Сервис А ждёт, занимает потоки, не освобождает ресурсы. Потом к нему приходит другой сервис — и тоже встаёт в очередь. Так один сбой разрастается по всей системе, как снежный ком. Этот эффект называется каскадным отказом.
Паттерн Circuit Breaker (предохранитель) решает эту проблему. В статье разбираем его на примере ассистента HR с зонтиком, показываем, как настроить Resilience4j, и делимся, какие ошибки стоит (а какие не стоит) учитывать в статистике.
Читать статью
Наш канал в Макс
Please open Telegram to view this post
VIEW IN TELEGRAM
VK
Circuit Breaker в микросервисах: как защитить систему от каскадных отказов
Представьте: сервис А звонит сервису Б, а тот зависает. Сервис А ждёт, занимает потоки, не освобождает ресурсы. Потом к нему приходит дру..
🔥1
Как упаковать React и три Java-сервиса в один .exe с помощью Electron и ничего не сломать
Всем привет! Меня зовут Евгений Оселедец, я ведущий разработчик в компании Axenix. В этой статье расскажу, как мы упаковали React и Java в единое автономное desktop-приложение с помощью Electron для Windows, Linux и macOS — без Docker, без предустановленной Java у пользователя и без необходимости интернет-соединения. Расскажу, с какими техническими вызовами мы столкнулись и какие решения сработали на практике.
Читать статью
Наш канал в Макс🟪
Всем привет! Меня зовут Евгений Оселедец, я ведущий разработчик в компании Axenix. В этой статье расскажу, как мы упаковали React и Java в единое автономное desktop-приложение с помощью Electron для Windows, Linux и macOS — без Docker, без предустановленной Java у пользователя и без необходимости интернет-соединения. Расскажу, с какими техническими вызовами мы столкнулись и какие решения сработали на практике.
Читать статью
Наш канал в Макс
Please open Telegram to view this post
VIEW IN TELEGRAM
VK
Как упаковать React и три Java-сервиса в один .exe с помощью Electron и ничего не сломать
Всем привет! Меня зовут Евгений Оселедец, я ведущий разработчик в компании Axenix. В этой статье расскажу, как мы упаковали React и Java..
🔥2
Современный дата-стек: потоковая система из «LEGO»
Вы слышали о Kafka, MQTT, S3, Iceberg, Trino, PostgreSQL, Redis и Flink? А насколько хорошо вы знаете эти технологии? По каждой из них написаны огромные книги («Kafka: The Definitive Guide», около 800 страниц), и каждый день выходят новые публикации про тонкости.
Эта статья про другое.
Вместо внутренностей движков и законов распределённых систем посмотрим на эти технологии как на кубики LEGO: какую роль каждая из них играет в архитектуре и как они стыкуются друг с другом. Это будет практический туториал: начнём с минимальной конфигурации и постепенно соберём сложную систему. Статью можно просто читать как обзор архитектуры, а можно запускать каждую конфигурацию и изучать её в деталях. Для этого достаточно Git, Git LFS и Docker Compose. Всё запускается в контейнерах. Даже примеры на Java собираются через Docker multi-stage build.
Читать статью
Наш канал в Макс🟪
Вы слышали о Kafka, MQTT, S3, Iceberg, Trino, PostgreSQL, Redis и Flink? А насколько хорошо вы знаете эти технологии? По каждой из них написаны огромные книги («Kafka: The Definitive Guide», около 800 страниц), и каждый день выходят новые публикации про тонкости.
Эта статья про другое.
Вместо внутренностей движков и законов распределённых систем посмотрим на эти технологии как на кубики LEGO: какую роль каждая из них играет в архитектуре и как они стыкуются друг с другом. Это будет практический туториал: начнём с минимальной конфигурации и постепенно соберём сложную систему. Статью можно просто читать как обзор архитектуры, а можно запускать каждую конфигурацию и изучать её в деталях. Для этого достаточно Git, Git LFS и Docker Compose. Всё запускается в контейнерах. Даже примеры на Java собираются через Docker multi-stage build.
Читать статью
Наш канал в Макс
Please open Telegram to view this post
VIEW IN TELEGRAM
VK
Современный дата-стек: потоковая система из «LEGO»
Вы слышали о Kafka, MQTT, S3, Iceberg, Trino, PostgreSQL, Redis и Flink? А насколько хорошо вы знаете эти технологии? По каждой из них на..
🔥1
Echo Layer: как я пытался встроить приватность в обычную клавиатуру
Меня давно не отпускала одна мысль: почти все разговоры о приватной переписке в какой‑то момент упираются не в шифрование, не в криптографию, не в архитектуру, а в банальную человеческую инерцию. Можно сколько угодно строить красивую систему, можно делать open source, end‑to‑end encryption, писать про zero knowledge и отсутствие серверных логов, но потом ты возвращаешься в реальную жизнь и видишь, что люди всё равно сидят там, где им удобно. В Telegram, в WhatsApp, в VK, сейчас уже и MAX, в корпоративных чатах, в почте, в комментариях, где угодно. И если для приватности нужно сначала всех пересадить в новое приложение, то задача почти обречена.
Читать статью
Наш канал в Макс🟪
Меня давно не отпускала одна мысль: почти все разговоры о приватной переписке в какой‑то момент упираются не в шифрование, не в криптографию, не в архитектуру, а в банальную человеческую инерцию. Можно сколько угодно строить красивую систему, можно делать open source, end‑to‑end encryption, писать про zero knowledge и отсутствие серверных логов, но потом ты возвращаешься в реальную жизнь и видишь, что люди всё равно сидят там, где им удобно. В Telegram, в WhatsApp, в VK, сейчас уже и MAX, в корпоративных чатах, в почте, в комментариях, где угодно. И если для приватности нужно сначала всех пересадить в новое приложение, то задача почти обречена.
Читать статью
Наш канал в Макс
Please open Telegram to view this post
VIEW IN TELEGRAM
VK
Echo Layer: как я пытался встроить приватность в обычную клавиатуру
Меня зовут Артур Валиев, и я разработчик небольшого мобильного приложения с названием «Echo Layer».
👍1🔥1
Эксперименты с распараллеливанием Java-автотестов
За годы работы сначала разработчиком, а потом автоматизатором сталкивался с необходимостью запускать тесты параллельно. Действовал в основном интуитивно и шёл строго по документации. Недавно закралась мысль поставить серию экспериментов и посмотреть фактам в глаза. Результаты оказались предсказуемые, но тем не менее интересными.
Эта статья для тех, кто делает первые шаги в распараллеливании тестов на Java. Будет полезна как автотестерам, так и начинающим разработчикам.
Будем анализировать выводы полученные в ходе эксперимента, а не голую теорию из документации. После прочтения сможете повторить все самостоятельно как на готовом примере из статьи, так и на своих проектах.
Читать статью
Наш канал в Макс🟪
За годы работы сначала разработчиком, а потом автоматизатором сталкивался с необходимостью запускать тесты параллельно. Действовал в основном интуитивно и шёл строго по документации. Недавно закралась мысль поставить серию экспериментов и посмотреть фактам в глаза. Результаты оказались предсказуемые, но тем не менее интересными.
Эта статья для тех, кто делает первые шаги в распараллеливании тестов на Java. Будет полезна как автотестерам, так и начинающим разработчикам.
Будем анализировать выводы полученные в ходе эксперимента, а не голую теорию из документации. После прочтения сможете повторить все самостоятельно как на готовом примере из статьи, так и на своих проектах.
Читать статью
Наш канал в Макс
Please open Telegram to view this post
VIEW IN TELEGRAM
VK
Эксперименты с распараллеливанием Java-автотестов
Разрабы выкатили фикс и нужно прогнать регресс на стенде. Открываешь CI, запускаешь тесты и спустя каких-то пару часов можно понять катим..
🔥1
Легаси и минус 99% времени: пошаговый разбор оптимизации
Думаю, многие из вас сталкивались с легаси, которое нужно дорабатывать и оптимизировать. Сегодня хочу поделиться реальным кейсом как мы ускорили отправку данных в смежную систему.
Разберем всё по шагам, с замерами производительности. Поехали!
Читать статью
Наш канал в Макс🟪
Думаю, многие из вас сталкивались с легаси, которое нужно дорабатывать и оптимизировать. Сегодня хочу поделиться реальным кейсом как мы ускорили отправку данных в смежную систему.
Разберем всё по шагам, с замерами производительности. Поехали!
Читать статью
Наш канал в Макс
Please open Telegram to view this post
VIEW IN TELEGRAM
VK
Легаси и минус 99% времени: пошаговый разбор оптимизации
Всем привет! Меня зовут Михаил, я главный эксперт в ОТП Банке.
🔥1
Cказ о том, как мы с Oracle на PostgreSQL переехали
Меня зовут Даша Александрова, я Java‑разработчик. Хочу поделиться опытом миграции данных из Oracle в PostgreSQL без простоя сервисов.
Причина миграции — импортозамещение.
Теперь немного про сам проект. В его основе — микросервисная архитектура на Java 11/17 и Spring Boot 2/3. В качестве основной базы данных использовалась Oracle с несколькими схемами. В коде сочетаются нативные SQL‑запросы и Hibernate, вся бизнес‑логика живет на уровне приложения — без процедур, триггеров и другой логики в базе. Идентификаторы генерируются через sequence. Проект активно развивается, регулярно выпускаются релизы. Система ориентирована на клиентские приложения — мобильное и веб, при этом нагрузка остается умеренной и не относится к highload‑сценариям.
Читать статью
Наш канал в Макс🟪
Меня зовут Даша Александрова, я Java‑разработчик. Хочу поделиться опытом миграции данных из Oracle в PostgreSQL без простоя сервисов.
Причина миграции — импортозамещение.
Теперь немного про сам проект. В его основе — микросервисная архитектура на Java 11/17 и Spring Boot 2/3. В качестве основной базы данных использовалась Oracle с несколькими схемами. В коде сочетаются нативные SQL‑запросы и Hibernate, вся бизнес‑логика живет на уровне приложения — без процедур, триггеров и другой логики в базе. Идентификаторы генерируются через sequence. Проект активно развивается, регулярно выпускаются релизы. Система ориентирована на клиентские приложения — мобильное и веб, при этом нагрузка остается умеренной и не относится к highload‑сценариям.
Читать статью
Наш канал в Макс
Please open Telegram to view this post
VIEW IN TELEGRAM
VK
Cказ о том, как мы с Oracle на PostgreSQL переехали
Исходные условия и цель переезда
Скучный Рефакторинг: борьба с искушениями
Рефакторинг должен быть скучный и надежный. Надо держаться от искушения обновить библиотеку, починить баг, улучшить стиль. Под катом разбор почему именно такой путь сможет вытянуть тяжелый legacy рефакторинг, а шаг вправо и влево ведет к откату релиза.
Читать статью
Наш канал в Макс🟪
Рефакторинг должен быть скучный и надежный. Надо держаться от искушения обновить библиотеку, починить баг, улучшить стиль. Под катом разбор почему именно такой путь сможет вытянуть тяжелый legacy рефакторинг, а шаг вправо и влево ведет к откату релиза.
Читать статью
Наш канал в Макс
Please open Telegram to view this post
VIEW IN TELEGRAM
VK
Скучный Рефакторинг: борьба с искушениями
Классическая история: есть модуль, который годами жил внутри монолита. В какой-то момент его решили вынести в отдельный сервис. Перенести..