Архитектура

Материалы по архитектуре IT-систем: архитектурное мышление, проектирование решений, выбор подходов, компромиссы, эволюция систем и практика принятия технических решений.

Все материалы

Все статьи, заметки и разборы по этой теме в хронологическом порядке.

Проектирование RESTful API: фильтрация, сортировка и пагинация

Проектирование RESTful API сегодня — фундамент современной веб-разработки, дающий возможность создавать мощные, масштабируемые и эффективные веб-приложения. Для оптимального пользовательского опыта и высокой производительности сервера при проектировании таких API критически важны три функции: фильтрация, сортировка и пагинация. Фильтрация позволяет пользователям сужать результаты по заданным критериям. Сортировка помогает упорядочивать данные нужным образом. Пагинация же разбивает большие наборы данных на части, снижая объем передаваемой информации и повышая скорость работы системы. В этой статье мы подробно разберем значение фильтрации, сортировки и пагинации для REST API. Вы узнаете о разных подходах к пагинации, таких как курсорная (cursor-based) и офсетная (offset-based), и увидите примеры их реализации. ...

23 июля 2025 г. · 3 минуты · CrazyElephant_x

Идентификация, Аутентификация и Авторизация

Аутентификация, авторизация, идентификация — что это приведите пример. Было у вас такое на собеседовании? Давайте найдем ответ вместе! Пришло время, чтобы обсудить с вами важные термины, с которыми сталкиваются не только аналитики, но и обычные люди почти каждый день. Мы уже научились различать бизнес-анализ и бизнес-аналитику, а также зарплату и аванс (хотя это и не относится к нашей теме). Пришло время двигаться дальше и достичь полного понимания этого мира. Определения Как обычно, начнем с определений, но представим их максимально просто. ...

4 января 2025 г. · 3 минуты · CrazyElephant_x

API driven development

API driven development — это методология программирования, которая ставит API в центр внимания и разработки. Подход API driven development В этом подходе API помогает выполнять следующие задачи: Запуск приложения: получение данных с сервера и их обработка фронтендом. Коммуникация: API служит мостом между фронтендом и бэкендом, обеспечивая их эффективное взаимодействие. Сигнализация требований: спецификация ожидаемого поведения и возвращаемых данных от бэкенд-системы. Сохранение всех данных: наличие схемы, описания и примеров использования API в одном месте. Тестирование: проведение тестов на основе чёткой и определённой схемы для проверки программного обеспечения. В рамках этого подхода разработчики должны активно общаться и координировать свои действия. Взаимодействие необходимо чтобы обеспечить успешную разработку и интеграцию API в проект. ...

4 января 2025 г. · 2 минуты · CrazyElephant_x

Начни с начала

Материалы после выступления на TechMeetup 7 System analysis МТС Финтех. Чеклист для проверки архитектурных диаграмм Несколько правил для проверки своей архитектурной диаграммы. Общие вопросы которые стоит себе задать У диаграммы есть заголовок? Понятно, к какому типу относится диаграмма, что она показывает? Понятен ли уровень и скоуп диаграммы? У диаграммы есть легенда / расшифровка обозначений? Как проверить элементы диаграммы У каждого элемента есть название? Понятен ли тип каждого элемент (уровень абстракции)? Понятно, что делает каждый элемент? Понятна ли технология, связанная с элементом? (если применимо на данном уровне абстракции) Понятен ли смысл всех аббревиатур и сокращений? Понятен ли смысл всех цветов элементов? Понятен ли смысл всех форм элементов? Понятен ли смысл всех иконок? Понятен ли смысл линий границ элементов? (сплошная, пунктирная…) Понятен ли смысл размеров элементов? Понятен ли смысл группировки элементов? Связи и отношения ...

9 сентября 2024 г. · 4 минуты · CrazyElephant_x

Шаблоны интеграции микросервисов

Микросервисная архитектура стала стандартом для создания масштабируемых и гибких систем. Однако, при проектировании такой архитектуры важно учитывать, как отдельные микросервисы будут взаимодействовать друг с другом. Здесь на помощь приходят шаблоны интеграции. Основные шаблоны интеграции API Gateway Позволяет управлять доступом к микросервисам через единый входной узел, обеспечивая маршрутизацию запросов, аутентификацию и агрегацию данных. Saga Используется для управления распределенными транзакциями. Вместо традиционной ACID транзакции, каждый микросервис выполняет свою часть работы и вызывает следующий шаг в цепочке. ...

8 сентября 2024 г. · 1 минута · CrazyElephant_x