- Added comprehensive course structure with 11 modules - Included theoretical content, practical examples, and tasks - Multi-language code examples (Java, Rust, Node.js, Python) - Detailed analysis of architectural approaches and trade-offs - Complete caching strategies documentation - Architecture examples from real-world systems (Twitter, Netflix, Uber) - Structured navigation and learning path - Ready for educational use
Курс "Архитектор программного обеспечения"
Описание
Этот репозиторий содержит полный курс по архитектуре программного обеспечения, разработанный на основе программы Yandex.Practicum и дополненный современными практиками и технологиями.
Структура курса
Курс состоит из 11 модулей, каждый из которых содержит:
- Теоретический материал — основы архитектуры ПО
- Практические примеры — код на Java, Rust, Node.js и Python
- Практические задания — для закрепления материала
- Дополнительные ресурсы — ссылки на полезные материалы
Модули курса
- Основы архитектуры ПО — принципы, SOLID, архитектурные стили
- Микросервисная архитектура — проектирование и реализация микросервисов
- Контейнеризация и оркестрация — Docker, Kubernetes, Infrastructure as Code
- Масштабируемость и отказоустойчивость — паттерны масштабирования
- Мониторинг и наблюдаемость — Prometheus, Grafana, логирование
- Безопасность и соответствие требованиям — аутентификация, шифрование, уязвимости
- Документирование архитектуры — C4 Model, PlantUML, ADR
- Облачные технологии и миграция — AWS, Azure, GCP, стратегии миграции
- Управление командой и процессы — техническое лидерство, Agile, DevOps
- Производительность и оптимизация — профилирование, оптимизация БД
- Финальный проект — архитектурное проектирование и реализация
Технологии
Курс охватывает следующие технологии:
- Языки программирования: Java, Rust, Node.js, Python
- Фреймворки: Spring Boot, Actix Web, Fastify, FastAPI
- Базы данных: PostgreSQL, MongoDB, Redis
- Контейнеризация: Docker, Kubernetes
- Облачные платформы: AWS, Azure, Google Cloud
- Мониторинг: Prometheus, Grafana, ELK Stack
Как использовать
-
Клонируйте репозиторий:
git clone https://git.mylocaldomain.online/administrator/sa-lessons.git cd sa-lessons -
Изучайте модули последовательно, начиная с Модуля 1
-
Выполняйте практические задания в каждом модуле
-
Используйте примеры кода как справочный материал
Структура репозитория
├── modules/ # Модули курса
│ ├── module1/ # Основы архитектуры ПО
│ ├── module2/ # Микросервисная архитектура
│ └── ...
├── README.md # Этот файл
├── .gitignore # Игнорируемые файлы
└── course_plan.md # План курса
Автор
Курс разработан на основе программы Yandex.Practicum "Архитектор программного обеспечения" с дополнениями и современными практиками.
Лицензия
Этот проект распространяется под лицензией MIT. См. файл LICENSE для подробностей.
Вклад в проект
Мы приветствуем вклад в развитие курса! Пожалуйста, создавайте Issues и Pull Requests для предложений по улучшению.
Поддержка
Если у вас есть вопросы по курсу, создайте Issue в этом репозитории.