Blog

A collection of 210 posts
Представляем технологию для предотвращения потери ответов на онлайн-экзаменах
blog

Представляем технологию для предотвращения потери ответов на онлайн-экзаменах

Работая над образовательным сайтом, мы начали регулярно проводить онлайн-экзамены, чтобы оценивать учебные достижения студентов. Мы рассчитывали, что в подготовленных нами экзаменах одновременно будут участвовать около 100 человек. С точки зрения обычного веб-трафика, который в основном состоит из простых просмотров страниц, такой масштаб может показаться не особенно большим. Однако,
12 min read
Наш опыт внедрения многоуровневого хранения данных на базе S3
blog

Наш опыт внедрения многоуровневого хранения данных на базе S3

-Спаситель, обезвредивший бомбу расходов на БД: знакомство с многоуровневым хранением данных на базе S3- Больше сервисов — и незаметно подкрадывающаяся бомба расходов на БД В наших недавних проектах количество сервисов росло, и мы добавляли множество новых функций. В результате нам пришлось столкнуться с экспоненциальным ростом объёма данных и пропорциональным увеличением расходов
6 min read
Создание собственного календаря трудозатрат с React и Day.js
blog

Создание собственного календаря трудозатрат с React и Day.js

1. Предыстория создания календаря численности персонала с нуля В веб-сервисе календарь может выглядеть как простой интерфейс для выбора дат, но при его реализации необходимо учитывать несколько факторов: количество дней в каждом месяце, соответствие дат дням недели, пустые ячейки и размещение информации для каждой даты. В частности, в отличие от
9 min read
Роли участников команды в гибких проектах
blog

Роли участников команды в гибких проектах

Что, если применить Scrum в реальном проекте системной интеграции? Роли руководителей проектов (PM), руководителей разработки (PL), аналитиков-планировщиков, разработчиков и заказчиков — и как проводить спринты В предыдущей статье мы рассмотрели такие понятия, как Scrum, эмпирический подход и парная работа, а также 12 принципов Agile. Как же применить Agile в реальном
8 min read
Данные, о которых я задумался до построения модели
blog

Данные, о которых я задумался до построения модели

ИИ рекомендаций система, что я рассматривал до выбора модели — это данные - -для проекта Banjang Note специфичные требования к данным и критерии фильтрации , которые я рассмотрел - 1. Почему я не стал сначала выбирать модель При подготовке системы рекомендаций на основе ИИ многие в первую очередь думают о коллаборативной фильтрации или моделях
9 min read
Начало работы с мультитенантностью баз данных с помощью Spring Boot и JPA
blog

Начало работы с мультитенантностью баз данных с помощью Spring Boot и JPA

▶ Как разделить данные арендаторов в одном приложении? На примерах Spring Boot и JPA мы рассмотрим принципы разделения на уровне строк, схем и баз данных, а также процесс выполнения запросов с учетом конкретного арендатора. При управлении данными нескольких клиентов (арендаторов) в одной таблице условия для арендатора многократно появляются в методах Repository.
12 min read
Современный бэкенд — обзор Spring Boot 4.0 (3)
blog

Современный бэкенд — обзор Spring Boot 4.0 (3)

Третья лекция первой сессии части 2 курса [Modern Backend] — «Обзор Spring Boot 4.0 (3)» — посвящена рискам времени выполнения и стандартизации. В этой лекции рассматриваются изменения в механизме сериализации/десериализации Jackson 3, на которые разработчикам бэкенда следует обратить особое внимание при переходе на Spring Boot 4.0, а также недавно
2 min read
После найма пяти ИИ самым занятым в итоге оказался я
blog

После найма пяти ИИ самым занятым в итоге оказался я

—История создания многопрофильной команды продакшена в Edulime Academy— Я хотел, чтобы изучение корейского языка вызывало такое же привыкание, как просмотр дорам запоем. Чтобы после одной серии хотелось сразу включить следующую. Вместо того чтобы включать видео, потому что это домашнее задание, я хотел, чтобы учащиеся продолжали смотреть из любопытства: что же
13 min read
Практическое руководство по веб-доступности (A11y) для издателей SI
blog

Практическое руководство по веб-доступности (A11y) для издателей SI

—От разметки компонентов к управлению фокусом— 1. Введение: различия в доступности между статическим HTML и средами React Поскольку среда разметки для проектов SI (системной интеграции) переходит от JSP и статического HTML к структурам SPA (одностраничных приложений) на базе React и Vue, одной из крупнейших технических проблем, с которыми сталкиваются издатели,
10 min read
Снижение затрат на Pod и JVM с помощью MultiDatasource·Prologue
blog

Снижение затрат на Pod и JVM с помощью MultiDatasource·Prologue

Интегрированный дизайн бэкенда с сохранением границ сервисов и продвижением общей автоконфигурации 1. Введение По мере увеличения числа микросервисов растёт не только бизнес-функциональность. Для каждого сервиса требуется Pod, а внутри каждой JVM создаются Spring Context, пул потоков и пул соединений. Цели развёртывания и мониторинга также увеличиваются пропорционально числу сервисов. Если
13 min read
Где и как следует тестировать мобильное приложение в процессе контроля качества?
blog

Где и как следует тестировать мобильное приложение в процессе контроля качества?

Почему QA следует проводить на реальных устройствах? Сценарии тестирования на реальных устройствах в TestFlight и стратегии проведения QA до и после выпуска приложения 1. QA не заканчивается на выявлении различий между экранами. QA дизайна часто понимают как размещение Figma и результата разработки рядом для проверки шрифтов, отступов, цветов и размеров
7 min read
Современный бэкенд — обзор Spring Boot 4.0 (2)
blog

Современный бэкенд — обзор Spring Boot 4.0 (2)

[Современный бэкенд] Часть 2, сессия 2 урока 10: «Обзор Spring Boot 4.0 (2)» — технические сложности и новые возможности. В этой сессии рассматриваются переход на Jackson 3, стандартизация безопасности работы с null на основе JSpecify, HTTP-клиенты нового поколения со встроенной отказоустойчивостью, а также стратегии работы с удалёнными устаревшими API
2 min read
Современный бэкенд — обзор Spring Boot 4.0 (1)
blog

Современный бэкенд — обзор Spring Boot 4.0 (1)

[Современный бэкенд] Первая сессия части 2, «Обзор Spring Boot 4.0 (1)», посвящена теоретическому анализу и анализу рисков. В этой лекции мы подробно рассмотрим, почему необходимо перейти с существующей среды Spring Boot 3.x на следующее поколение мажорной версии Spring Boot 4.0, а также изменения в экосистеме, вызванные одновременным
2 min read
Современный бэкенд — рефакторинг с использованием нового синтаксиса
blog

Современный бэкенд — рефакторинг с использованием нового синтаксиса

Заключительная сессия части 1 курса [Современная серверная разработка] — это практическая лекция на тему «Рефакторинг с использованием нового синтаксиса». На этой лекции мы проведём живое программирование, чтобы применить к практическому проекту доски объявлений две ключевые языковые возможности Java 25, рассмотренные на предыдущем уроке 8 и непосредственно применимые в реальном коде: Импорт
2 min read
Современный бэкенд — улучшения синтаксиса и производительности (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
Site footer