Кладовочка

О разном, чтобы было под рукой онлайн

Архитектура и инженерия ПО

Use Case диаграмма: элементы, правила построения и пример UML

Use case диаграмма (UML use case diagram): элементы, отношения include и extend, правила построения, use case пример для магазина и банка, инструменты.

Use Case и User Story: в чём отличие сценариев использования и пользовательских историй

Use case и user story: чем отличаются сценарии использования от пользовательских историй, таблица сравнения, связка epic → use case → story, примеры и чеклист.

DevOps: принципы, практики и внедрение в команде

DevOps: что это, 6 принципов DASA, культура вместо инструментов. CI/CD пайплайн, Infrastructure as Code, мониторинг, SRE vs DevOps. Дорожная карта внедрения в команде и частые ошибки.

Балансировщик нагрузки: как работает и зачем нужен

Балансировщик нагрузки (Load Balancer): что это, L4 vs L7, алгоритмы распределения, Nginx/HAProxy/AWS ALB. Настройка с примерами, health checks, sticky sessions, SSL termination и типичные ошибки.

Информационная архитектура: как спроектировать структуру данных и систем

Информационная архитектура: что это, как проектировать структуру данных и систем. Принципы организации, моделирование данных (концептуальная, логическая, физическая), MDM, интеграция. Примеры и чек-листы.

Enterprise Architecture (архитектура предприятия): полный гайд

Архитектура предприятия (Enterprise Architecture): что это, зачем нужно, фреймворки TOGAF, Zachman, ArchiMate. Уровни EA, роль Enterprise Architect, дорожная карта внедрения. Практические шаблоны и частые ошибки.

Кеширование: паттерны, стратегии и реализации

Полный инженерный гайд по кешированию — паттерны (Cache-Aside, Read-Through, Write-Behind), стратегии инвалидации, Redis, HTTP-кеширование. Как быстро подключить кеш в Python, Go, на уровне архитектуры.

System Design: как проектировать масштабируемые системы — полный гайд

System Design: проектирование систем от собеседования до продакшена. Фреймворк из 4 шагов, балансировка нагрузки, репликация БД, кэширование, шардирование и компромиссы. С примерами и mermaid-диаграммами.

ADR (Architecture Decision Records): как документировать архитектурные решения — шаблоны, примеры

ADR — как документировать архитектурные решения: шаблон Nygard, MADR и Y-Statement, пример заполнения и реальные кейсы из open source. ADR журнал и реестр решений, инструменты adr-tools. Когда писать ADR, а когда не стоит.

C4 Model: документируем архитектуру за 4 шага с примерами и Mermaid

Что такое C4 Model и как документировать архитектуру ПО на 4 уровнях: Context, Container, Component, Code. Практические примеры с Mermaid-диаграммами для каждого уровня. C4 vs UML: когда что использовать.

Монолит или микросервисы? Спектр архитектурных решений: от Big Ball of Mud до модульного монолита

Архитектура — не бинарный выбор между монолитом и микросервисами. Спектр: слоёный монолит, модульный монолит, coarse SOA, микросервисы. Monolith First, архитектурные кванты, когда оставаться на монолите. Mermaid-диаграммы и книга рекомендаций.

Event-Driven Architecture: когда события управляют системой

Event-Driven Architecture: события, event sourcing, CQRS, брокеры сообщений (Kafka, RabbitMQ). Когда EDA оправдана, а когда добавляет сложности без пользы.

Микросервисы vs монолит: когда что выбирать — полный разбор

Когда выбирать микросервисы, а когда — монолит. Не догма, а критерии: размер команды, сложность домена, требования к масштабированию, скорость разработки. Чек-лист принятия решения.

Рефакторинг: полный каталог приёмов Мартина Фаулера

Каталог приёмов рефакторинга по Мартину Фаулеру: 6 категорий, 65+ приёмов с примерами кода, Mermaid-схемами и чек-листом «когда применять, а когда не стоит». Навигация с перекрёстными ссылками.

Use Case пример: как писать сценарии использования по Алистеру Коберну с шаблонами

Примеры Use Case и готовый шаблон: как писать сценарии использования по Алистеру Коберну (TR.96.03a) и его книге «Writing Effective Use Cases». Уровни вариантов использования, расширения, субварианты, отличия от User Story и частые ошибки.

Справочник архитектурных паттернов ИТ-систем

Ключевые архитектурные концепции, которые должен знать разработчик: масштабирование, балансировка, кэширование, репликация, очереди, CDN, микросервисы. Конспект по System Design.