Как стать автором
Обновить
83.66
Сначала показывать

Ускорение работы тeстов методом правильной настройки Testcontainers

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.4K

В современных разработках ускорение тестирования является критически важной задачей, особенно в условиях интенсивной работы с CI/CD. В этой статье мы рассмотрим, как оптимизировать процесс тестирования с использованием Testcontainers и Spring, чтобы минимизировать время инициализации окружения, включая базу данных и контекст приложения. Мы поделимся практическим опытом настройки, основанным на реальном проекте, где мы смогли значительно сократить время выполнения компонентных тестов, сделав их более эффективными.

Читать далее
Всего голосов 7: ↑7 и ↓0+9
Комментарии2

Prometheus: как Бог огня стал Богом мониторинга

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров6.3K

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

Метрики собирает и анализирует Prometheus – гибкая система с открытым исходным кодом, являющаяся одним из самых распространенных инструментов для реализации мониторинга.

Цель данной статьи - рассмотреть процесс разработки сервиса мониторинга на основе Prometheus и оценить его значимость в контексте современной разработки программного обеспечения.

Читать далее
Всего голосов 16: ↑14 и ↓2+13
Комментарии14

Как улучшить пооперационное планирование в «1С:ERP»

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров1K

Обычно переход с SAP на «1C» – непростой процесс со множеством подводных камней. И не только потому, что сама по себе миграция – комплексный проект, а корректный перенос данных и бизнес-процессов требует усилий и времени. Часто заказчики сталкиваются с отсутствием в новой системе привычных возможностей. Однако с надежным технологическим партнером реализовать их в российской ERP-системе возможно.

Читать далее
Всего голосов 6: ↑6 и ↓0+8
Комментарии1

Цикл статей о Greenplum. Часть 2. Оптимальный DDL

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров4K

Всем привет!

В прошлой статье мы с вами разобрались, как устроена MPP-архитектура Greenplum. Сегодня мы в сотрудничестве с @imzorin углубимся и разберемся, что представляет из себя DDL в этом хранилище. Также постараемся выделить основные моменты, на которые стоит обращать внимание при выборе типа таблиц, дистрибуции и прочего.

Читать далее
Всего голосов 5: ↑5 и ↓0+7
Комментарии2

Как настроить маршруты согласования документов в 1С: нестандартные подходы

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.4K

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

Читать далее
Всего голосов 2: ↑1 и ↓1+2
Комментарии0

Миграция витрины данных с СУБД Teradata в СУБД Greenplum

Время на прочтение8 мин
Количество просмотров1.4K

Миграция СУБД с одной технологии на другую — сложный процесс, который связан не только с конвертацией кода и переливкой данных из одной системы в другую, хотя и здесь есть неочевидные нюансы. Это часто и вопросы, связанные с совместимостью функциональности, производительностью, безопасностью данных, архитектурными особенностями новой системы и многими другими аспектами.

Меня зовут Станислав Свириденко и я DWH-разработчик AXENIX. В этой статье хочу рассказать об опыте миграции витрины данных с проприетарной СУБД Teradata на свободную СУБД GreenPlum. Поговорим о задачах, подводных камнях, на которые мы периодически натыкались, и способах решений, найденных  в процессе.

Читать далее
Всего голосов 15: ↑14 и ↓1+14
Комментарии8

Математическая оптимизация для бизнеса. Часть 1. Пассажирские авиалинии

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров2.8K

В рамках серии статей по применению математической оптимизации для решения задач в бизнесе мне хотелось бы кратко, но ёмко раскрыть причины и предпосылки возникновения потребности у бизнеса решений задач такого класса, а также привести конкретные примеры кейсов, которые успешно реализованы в крупнейших компаниях мира. В отдельности каждый кейс заслуживает не менее 50 страниц текста для полноценного описания, я же постараюсь изложить главную суть решений и некоторые технические особенности в формате статей на Хабре.

Алгоритмы математической оптимизации относятся к категории Prescriptive – аналитики, наиболее сложного и ценного для бизнеса аналитического сегмента. Данная категория позволяет создавать сложные интеллектуальные системы принятия решения с целью максимизировать экономические, производственные и многие другие KPI в рамках заданных ограничений.  Математическая оптимизация имеет своё применение в каждом из видов бизнеса любого масштаба, включая промышленность, производство, розничную торговлю, транспорт и логистика, телеком, агросектор, энергетика, строительство, финансы, банкинг, спорт, кино, медицина, образование и т.д. В текущей статье пойдет речь о задачах в индустрии пассажирских авиалиний.

Читать далее
Всего голосов 7: ↑6 и ↓1+5
Комментарии2

Цикл статей о Greenplum. Часть 1. GP под капотом

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров7.3K

Всем привет!

Как вы знаете, многие поставщики ПО ушли с российского рынка ввиду введённых санкций и многие компании столкнулись с необходимость заняться импортозамещением в кратчайшие сроки. Не стал исключением и наш заказчик. Целевой системой, на которое было принято решение мигрировать старое хранилище, стал Greenplum (далее GP) от компании Arenadata.

Этой статьей мы запускаем цикл материалов посвященных Greenplum. В рамках цикла мы разберем, как вообще устроен GP и как выглядит его архитектура. Постараемся выделить must have практики при работе с данным продуктом, а также обсудим, как можно спроектировать хранилище на GP, осуществлять мониторинг эффективности работы и многое другое. Данный цикл статей будет полезен как разработчикам БД, так и аналитикам.

Читать далее
Всего голосов 19: ↑18 и ↓1+21
Комментарии2

«Михалыч, где заказ?» или как мы автоматизировали процесс заказа лома и отслеживали его по RFID

Время на прочтение11 мин
Количество просмотров2.3K

Для того, чтобы повысить качество производства и продолжать расти, бизнесу приходиться автоматизировать ручные операции. Но борьба с легаси-процессами только на первый взгляд кажется простой и лёгкой. Найти то, что плохо работает и придумать, как это решить, не так то просто. А отучить сотрудников делать так, как они привыкли — ещё сложнее.

Привет, Habr! На связи Александр Тамразов и Дмитрий Кривенко, разработчики из Аxenix.

Читать далее
Всего голосов 10: ↑9 и ↓1+9
Комментарии2

Старт приложений в БД Oracle через CRON: предотвращение параллельного выполнения

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров1K

Работа одного и того же приложения одновременно в нескольких сессиях ни к чему хорошему привести не может, в лучшем случае – это просто лишняя нагрузка на сервер, в худшем – взаимные блокировки (deadlock) и как следствие – аварийное завершение приложений и/или значительное увеличение времени работы из-за многочисленных откатов транзакций. Как предотвратить параллельный запуск? Читайте в статье.

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии2

Жизненный цикл проекта внедрения ERP-системы на примере коробочных SAP и 1С решений, а также кастомных разработок

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров5.8K

Слухи о необходимости замены импортных программных продуктов ходят еще с 2014 года. Но до 2022 года, кажется, многие организации и их ИТ-директоры воспринимали это скорее, как маркетинговый трюк, а не реальную потребность. Уход большинства зарубежных вендоров из России вызвал панику среди руководства ИТ-индустрии. Что позже превратилось в целый ряд различных проектов: срочные переходы с глобального шаблона SAP на локальную версию, внедрение продуктов 1С, создание кастомных разработок для заполнения возникших пробелов на рынке, а также долгосрочные инициативы по импортозамещению. Все это затронуло многих в нашей области: занимаясь только проектами и продуктами SAP, мы пропустили множество других программных решений и способов их внедрения, которые демонстрируют разнообразие в мире информационных технологий и корпоративных информационных систем (КИС).

Наряду с каскадной методологией, являющейся основой имплементации большинства проектов SAP и гибридных SAP-методов, живущих фактически лишь на бумаге, специалистам доступны принципы Agile, применимые в кастомных разработках, спиралевидные модели внедрения, рекомендуемые 1С в технологии ТКВ (технология корпоративного внедрения) и много всего другого, на что мы не обращали должного внимания при господстве западных программных продуктов.

Поучаствовав в нескольких проектах внедрения 1С решений, а также кастомных разработок и имея более чем 15-ти летний опыт вовлечения в SAP проекты, я бы хотел поделиться результатами сравнения особенностей их реализации. Дальнейший материал будет рассматриваться в контексте следующих проектов: тиражирование SAP ERP, автоматизация закупочной деятельности на базе SAP ERP MM/IM/FM, имплементация 1С ERP, БП и ЗУП, подготовка целевой ИТ-архитектуры на базе 1С ERP, а также реализация кастомного SRM-решения, для которых было критически важно подобрать релевантную модель внедрения и доставить результат точно в срок.

Читать далее
Всего голосов 6: ↑4 и ↓2+2
Комментарии4

Раскрывая потенциал GenICam и Harvester в системах компьютерного зрения

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров1.8K

Опыт работы с крупнейшими производственными площадками позволяет сказать, что на сегодняшний день целый ряд производств считает современные цифровые технологии и, в частности технологии искусственного интеллекта, неотъемлемой частью производства. В ряде компаний создана экосистема цифровых продуктов, сформированы мощные команды поддержки и развития, создана культура разработки, внедрения и использования цифровых продуктов. Большинство крупных производственных компаний вступило в новую эру цифровизации производства в промышленных масштабах.

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии0

Join или не Join, вот в чем вопрос…

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров16K

В процессе разработки программ с обращениями к базам данных часто возникает проблема создания SQL-запроса по большому количеству таблиц. Существует два варианта: один сложный запрос с большим количеством Join’ов и условий или несколько простых SQL-запросов с последовательным применением результата обработанного запроса к следующим запросам. Какой более эффективный? Читайте в статье.

Читать далее
Всего голосов 20: ↑11 и ↓9+2
Комментарии36

Интеграция Keycloak в приложение Spring Boot 3 с использованием протокола OAuth2.0

Уровень сложностиСредний
Время на прочтение27 мин
Количество просмотров24K

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

В данной статье мы рассмотрим процесс интеграции Keycloak в наше приложение Spring Boot 3 в качестве сервера авторизации с использованием протокола OAuth2. Обсудим смысл OAuth2, его механизм работы и сравним его с другими протоколами. Кроме того, мы настроим Keycloak с использованием Docker Compose, воспользовавшись PostgreSQL в качестве базы данных для Keycloak. Затем мы интегрируем Keycloak с нашим приложением Spring Boot 3, используя протокол OAuth2. Также мы подключим Keycloak Admin Client и, наконец, проверим функциональность всей системы.

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии16

Сравнение Open Source BI-платформ

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров21K

Привет, Habr!

Меня зовут Остапенко Настя, я лидирую направление BI в компании Axenix. Год назад мы выпустили статью с большим обзором Российского рынка BI. На этот раз мы проведем сравнение трех популярных Open-Source BI-платформ: Apache Superset, Metabase и относительно нового участника - Yandex Datalens, который совсем недавно стал доступен в качестве Open-Source продукта.

Читать далее
Всего голосов 21: ↑21 и ↓0+21
Комментарии19

Асинхронный API First

Уровень сложностиПростой
Время на прочтение17 мин
Количество просмотров12K

API-First — один из популярных подходов к проектированию серверных приложений. Для обеспечения этого подхода создано множество программных продуктов. Однако сложно найти продукт, который поможет реализовать этот подход для серверных приложений, использующих брокеры сообщений в качестве средства интеграции —  такие, как Apache Kafka, RabbitMQ, Apache ActiveMQ. Мы решили это исправить и представляем вам свое решение AxenAPI.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии12

Логмайним Оракл

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров2.6K

Перед нашей командой была поставлена задача осуществить миграцию из Oracle в PostgreSQL большой (несколько десятков терабайт) работающей базы с нагрузкой порядка 20 миллионов dml-операций в час и генерацией 2ГБ редо-логов в минуту. Особенность задачи состояла в том, что миграция должна была происходить не один-в-один, а по частям в разные шарды. А какие данные в какие шарды и в каком порядке поедут, определялось бы в процессе самой миграции, по результатам этой миграции, в режиме, так сказать, ручного управления.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии0

Миграция базы данных с Oracle на PostgreSQL в системе с микросервисной архитектурой

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров4.2K


Привет! Эта статья рассказывает о моем опыте миграции СУБД с Oracle на PostgreSQL в системе с микросервисной архитектурой и является продолжением моего доклада на PGConf.Russia 2023. Я постарался выделить и описать в ней самые интересные и важные, на мой взгляд, моменты на пути по поиску и внедрению альтернативы Oracle, тестированию Greenplum и, в конечном итоге, переходу на несколько связанных баз данных PostgreSQL. Надеюсь, что данная информация будет полезна и интересна всем, кто уже столкнулся с похожей задачей, неизбежно к ней движется или просто интересуется данной темой.
Читать дальше →
Всего голосов 12: ↑11 и ↓1+13
Комментарии4

Модульные тесты как оплот стабильности в Agile разработке

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров3.7K

В этой статье мы рассмотрим ту часть тестирования, которой не касаются специалисты по тестированию — модульные тесты. Почему же при Agile так необходимо иметь качественное покрытие модульными тестами? Раскроем их положение в цикле разработки и цели их создания. Рассмотрим различные варианты оценки качества покрытия тестами при разработке backend приложения на языке Java с использованием Spring-boot. С помощью Jacoco построим отчет и увидим недостатки численных оценок покрытия тестами. Сформулируем субъективные оценки модульного тестирования и советы по их разработке.

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Комментарии2

DevOps. Terraform. Построение динамических зависимостей в depends_on

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров2.7K

В статье описывается один из вариантов решения создания ресурсов Terraform в определённой последовательности. К сожалению, стандартными средствами это реализовать не удалось, поэтому, пришлось решать с помощью дополнительного компонента. В результате использования компонента time_sleep, удалось получить необходимую последовательность создания жёстких дисков.

Читать далее
Рейтинг0
Комментарии0

Информация

Сайт
axenix.pro
Дата регистрации
Дата основания
Численность
1 001–5 000 человек
Местоположение
Россия
Представитель
Жамиля