Blog

A collection of 196 posts
Современный бэкенд — улучшения синтаксиса и производительности (2)
blog

Современный бэкенд — улучшения синтаксиса и производительности (2)

Это раздел, посвящённый теории и принципам, второй лекции «Syntax & Performance Improvements (2)» из восьмой сессии части 1 курса [Modern Backend]. В этой лекции рассматриваются строгие правила и порядок инициализации, регулирующие Flexible Constructor Bodies в Java 25, а также конфигурация Compact Object Headers и многосторонний подход к оптимизации производительности Java
2 min read
Современный бэкенд — улучшения синтаксиса и производительности (1)
blog

Современный бэкенд — улучшения синтаксиса и производительности (1)

Первая лекция восьмой сессии части 1 курса [Modern Backend] — «Синтаксические улучшения и улучшения производительности (1)». В этой лекции мы рассмотрим основные возможности синтаксиса языка, официально принятые и усовершенствованные в Java 25, а также ключевые элементы оптимизации производительности JVM HotSpot. 📌 Ключевые темы: * Гибкие тела конструкторов (JEP 513): проверка перед вызовами super(
2 min read
Современный бэкенд — рефакторинг передачи контекста (3)
blog

Современный бэкенд — рефакторинг передачи контекста (3)

Практическое занятие к третьей лекции седьмого урока части 1 курса [Modern Backend] — «Рефакторинг передачи контекста (3)». На этой лекции, опираясь на теорию проектирования, изученную на уроках 6 и 7, мы проведём практическое занятие в формате live coding и напрямую преобразуем существующий код с ThreadLocal в учебном проекте доски объявлений, заменив
2 min read
Современный бэкенд — рефакторинг распространения контекста (2)
blog

Современный бэкенд — рефакторинг распространения контекста (2)

[Modern Backend] Это вторая лекция седьмого занятия части 1 курса «Рефакторинг распространения контекста (2)». В этой лекции мы применяем механизм автоматического наследования ScopedValue к разделу параллельного выполнения (StructuredTaskScope) проекта доски объявлений, а также рассматриваем шаблоны привязки на асинхронных границах и стратегии рефакторинга без побочных эффектов. 📌 Основные темы: * Принцип, согласно которому
2 min read
Создание управляемой платформы на основе IaC в Naver Cloud
blog

Создание управляемой платформы на основе IaC в Naver Cloud

В наши дни термин «IaC (Infrastructure as Code)» хорошо знаком всем, кто обсуждает инфраструктуру. Создание облачных ресурсов с помощью Terraform, автоматизация конфигурации серверов с помощью Ansible, а также управление развертыванием приложений с помощью Kubernetes и GitOps стали не столько специализированными технологиями, сколько базовой частью эксплуатации. Однако при фактическом создании операционной
15 min read
Проблемы с подключением к кластеру MongoDB и улучшения конфигурации
blog

Проблемы с подключением к кластеру MongoDB и улучшения конфигурации

В этом случае рассматривается конфигурация подключения к MongoDB в кластерной среде на основе инцидента, вызванного наложением развертывания AWS EKS на обновление версии MongoDB Atlas.развертывание AWS EKS и обновление версии MongoDB Atlas1. Непредвиденный инцидент 1. Непредвиденный инцидент При развертывании системы с использованием MongoDB Atlas в AWS EKS подключения к некоторым
6 min read
Выполнение проверок развертывания с помощью ИИ
blog

Выполнение проверок развертывания с помощью ИИ

1. Предыстория Devlime работает в трёх средах — разработке, тестировании и продакшене, — которыми управляют два репозитория GitOps. Независимо от того, какая среда обновляется, до и после развёртывания выполняются одни и те же проверки. В их число входит проверка того, что именно развёртывается в этот раз, наличия изменений в базе данных и
11 min read
Обеспечение надежности данных в прерывистой сети между судном и берегом
blog

Обеспечение надежности данных в прерывистой сети между судном и берегом

Управление целостностью данных Smart Ship Solution (далее — SS): от обнаружения отсутствующих данных до восстановления, проверки и обнаружения аномальных данных На судах данные навигации, двигателя и оборудования непрерывно генерируются различными системами, включая IAS, VDR и ACONIS. SS — это интегрированная судовая и береговая платформа данных, которая собирает, стандартизирует и обрабатывает эти данные
10 min read
Используйте ИИ разумнее с Jev
blog

Используйте ИИ разумнее с Jev

Введение: не слишком ли часто мы используем LLM? За последние несколько лет разработка приложений на основе ИИ фактически вращалась вокруг LLM (больших языковых моделей). Когда пользователь задаёт вопрос, мы отправляем его в LLM; когда анализируем документ, отправляем его в LLM; когда классифицируем электронные письма, отправляем их в LLM; а когда
15 min read
Уроки, извлечённые при улучшении потоков агентов
blog

Уроки, извлечённые при улучшении потоков агентов

Введение Решение использовать ИИ-агента для написания кода в работе не сводилось к установке одного инструмента. Это означало переопределение самого способа нашей работы. Сначала я думал, что будет достаточно хорошо использовать промпты или навыки. Но через несколько месяцев от них почти ничего не осталось. Остались документы с правилами, записи о
7 min read
От POI к DsExcel: руководство по интеграции SpreadJS
blog

От POI к DsExcel: руководство по интеграции SpreadJS

1. Введение: почему снова «Excel»? Одним из наиболее распространённых и одновременно сложных требований при разработке корпоративных решений, несомненно, является **«обработка Excel»**. Пользователям в реальной бизнес-среде недостаточно просто просматривать эффектные информационные панели на веб-экранах: им необходимо выполнять запросы к сложным табличным данным с несколькими уровнями заголовков, скачивать шаблоны, оформленные
8 min read
Дилемма пользовательского интерфейса: между правилами и гибкостью
blog

Дилемма пользовательского интерфейса: между правилами и гибкостью

При проектировании мы часто сталкиваемся с ситуациями, когда трудно принять решение, поскольку не существует единственно правильного ответа. «Стоит ли использовать для этого фиксированное значение?» «Стоит ли сделать его гибким в зависимости от содержимого?» На первый взгляд это может показаться простым решением, но когда действительно приступаешь к работе, выбрать один из
7 min read
12 принципов Agile и как применять их в SI-проектах
blog

12 принципов Agile и как применять их в SI-проектах

-Agile — это не просто «способ быстро разрабатывать»- Термин «Agile» часто используется в среде разработки программного обеспечения. Однако если понимать Agile лишь как «быструю разработку» «проведение спринтов в двухнедельных циклах» «проведение ежедневного утреннего собрания» легко упустить суть Agile. Agile возник благодаря Манифесту гибкой разработки программного обеспечения, опубликованному в 2001 году. Манифест
8 min read
Когда ролей недостаточно: ReBAC и SpiceDB
blog

Когда ролей недостаточно: ReBAC и SpiceDB

1. Введение: когда одних ролей недостаточно В DevRime авторизация начинается так. @AuthorizedRole(roles = { ScrumRoles.ROLE_PROJECT_MANAGER, ScrumRoles.ROLE_PROJECT_MEMBER }) public class FindProductProjFetch extends FetchRequest<ProductRdo> { «Только руководители проектов и участники проектов могут вызывать этот API». Это понятно, легко читается и в большинстве случаев вполне достаточно. Мы
7 min read
Сравнение пользовательского опыта при использовании Vue.js и React.js
blog

Сравнение пользовательского опыта при использовании Vue.js и React.js

1. React и Vue: два основных фронтенд-фреймворка После более чем года разработки в среде React мне недавно представилась возможность поработать над проектом с использованием Vue и узнать больше о Vue как о фронтенд-фреймворке. Я часто слышал, что Vue проще React, поэтому не думаю, что при его изучении столкнулся
11 min read
Почему MCP-серверы и хосты агентов были разделены на два компонента?
blog

Почему MCP-серверы и хосты агентов были разделены на два компонента?

С того момента, как я подумал: «Если объединить их в один проект, проектов станет на один меньше», процесс решения самой задачи уже начался. Мы решили добавить в нашу внутреннюю платформу ИИ-агента, чтобы сервисами можно было управлять с помощью естественного языка. Но первым вопросом было не «Что нам следует создать?
9 min read
Получение статуса подов по сервису с помощью Fabric8
blog

Получение статуса подов по сервису с помощью Fabric8

-Spring Boot 4.1.0 · Java 25 · Fabric8 Kubernetes Client 7.1.0- Многие современные серверные системы работают в Kubernetes, и запросы к Pod для проверки состояния сервисов выполняются очень часто. До сих пор операторы (или ответственные разработчики) решали эту задачу, подключаясь к серверу и напрямую вводя команды kubectl, однако
7 min read
Nexus Repository
blog

Nexus Repository

Введение Одним предложением, Nexus Repository — это общий внутренний склад компонентов для разработки. Это сервер, который собирает и управляет библиотеками, пакетами, образами Docker и аналогичными ресурсами, используемыми в разработке, в одном месте, чтобы их можно было получить в любой момент. В настоящее время каждый разработчик самостоятельно скачивает необходимые ресурсы из Интернета.
6 min read
AX на всех этапах жизненного цикла разработки — от генерации кода
blog

AX на всех этапах жизненного цикла разработки — от генерации кода

—От написания кода с помощью ИИ до тестирования и эксплуатации: как должен измениться процесс разработки?— 1. Изменился способ, которым мы поручаем написание кода ИИ Всего через несколько месяцев после того, как я начал всерьёз использовать ИИ в разработке, я почти перестал писать код непосредственно сам. Сначала я объяснял нужную мне
7 min read
Концепции драйвера Modbus-RTU и руководство по виртуальному тестированию
blog

Концепции драйвера Modbus-RTU и руководство по виртуальному тестированию

Modbus-RTU — это метод связи, который уже давно используется на заводах и промышленных объектах, поэтому существует множество документации и на практике он встречается очень часто. Однако для непосредственного подключения линий и наблюдения за обменом необходим преобразователь RS-485 или реальное оборудование, поэтому разобраться в нем на практике зачастую бывает сложно.
7 min read
Заметки по разработке MCP-сервера
blog

Заметки по разработке MCP-сервера

Введение Когда началась работа над проектом по добавлению функциональности чат-бота с ИИ, мне поручили часть, связанную с «предоставлением LLM возможности запрашивать данные системы». Чтобы LLM могла отвечать на вопросы пользователей, ей в конечном итоге необходимо видеть данные нашей системы в режиме реального времени, и моей задачей было выяснить, как
9 min read
Эталонная архитектура общего домена Devlime / домена Inter-MS
blog

Эталонная архитектура общего домена Devlime / домена Inter-MS

1. Предпосылки Возникла необходимость установить связь между двумя доменами, чтобы отображать в Prism компании Devlime информацию об AgileProject Scrum (единице выполнения спринта) вместе с Project компании Crewit (управление контрактами и трудозатратами). Кроме того, информацию о трудозатратах Crewit требовалось отображать на экране для установления связи между двумя доменами. В связи с
7 min read
Прежде чем доверять LLM, я начал с того, что стал их ставить под сомнение
blog

Прежде чем доверять LLM, я начал с того, что стал их ставить под сомнение

Введение В ходе реализации проекта мне понадобилось организовать рабочие документы, написанные людьми, в структурированные данные, которые можно было бы использовать в последующих процессах. В документах на естественном языке описывались бизнес-цели, ответственные лица, процедуры обработки, правила и исключения. Люди могут прочитать документы и понять их контекст, но для использования документов
13 min read
Проектирование агентного рабочего процесса
blog

Проектирование агентного рабочего процесса

Граница между циклом, взаимодействием и подтверждением —Разделение ответственности за принятие решений и выполнение перед повышением автономности LLM— Когда мы объединили несколько функций LLM, работавших последовательно, в единый поток, сначала мы думали, что для создания Agentic Workflow будет достаточно автоматически вызывать следующую функцию. Однако на практике требуемая структура включала не только
8 min read
Почему мы перешли с Logstash на Debezium CDC
blog

Почему мы перешли с Logstash на Debezium CDC

1. Предпосылки перехода поиска на Elasticsearch Проект, над которым я работал, представлял собой платформу с туристическими направлениями и связанным с ними контентом на нескольких языках. Поскольку основной функцией сервиса был поиск подходящих направлений и материалов, когда пользователи вводили название региона или направления, качество поиска фактически определяло качество всего сервиса. У
11 min read
Site footer