# Курс "Архитектор программного обеспечения" ## Описание Этот репозиторий содержит полный курс по архитектуре программного обеспечения, разработанный на основе программы Yandex.Practicum и дополненный современными практиками и технологиями. ## Структура курса Курс состоит из 11 модулей, каждый из которых содержит: - **Теоретический материал** — основы архитектуры ПО - **Практические примеры** — код на Java, Rust, Node.js и Python - **Практические задания** — для закрепления материала - **Дополнительные ресурсы** — ссылки на полезные материалы ## Модули курса 1. **Основы архитектуры ПО** — принципы, SOLID, архитектурные стили 2. **Микросервисная архитектура** — проектирование и реализация микросервисов 3. **Контейнеризация и оркестрация** — Docker, Kubernetes, Infrastructure as Code 4. **Масштабируемость и отказоустойчивость** — паттерны масштабирования 5. **Мониторинг и наблюдаемость** — Prometheus, Grafana, логирование 6. **Безопасность и соответствие требованиям** — аутентификация, шифрование, уязвимости 7. **Документирование архитектуры** — C4 Model, PlantUML, ADR 8. **Облачные технологии и миграция** — AWS, Azure, GCP, стратегии миграции 9. **Управление командой и процессы** — техническое лидерство, Agile, DevOps 10. **Производительность и оптимизация** — профилирование, оптимизация БД 11. **Финальный проект** — архитектурное проектирование и реализация ## Технологии Курс охватывает следующие технологии: - **Языки программирования**: Java, Rust, Node.js, Python - **Фреймворки**: Spring Boot, Actix Web, Fastify, FastAPI - **Базы данных**: PostgreSQL, MongoDB, Redis - **Контейнеризация**: Docker, Kubernetes - **Облачные платформы**: AWS, Azure, Google Cloud - **Мониторинг**: Prometheus, Grafana, ELK Stack ## Как использовать 1. Клонируйте репозиторий: ```bash git clone https://git.mylocaldomain.online/administrator/sa-lessons.git cd sa-lessons ``` 2. Изучайте модули последовательно, начиная с [Модуля 1](modules/module1/README.md) 3. Выполняйте практические задания в каждом модуле 4. Используйте примеры кода как справочный материал ## Структура репозитория ``` ├── modules/ # Модули курса │ ├── module1/ # Основы архитектуры ПО │ ├── module2/ # Микросервисная архитектура │ └── ... ├── README.md # Этот файл ├── .gitignore # Игнорируемые файлы └── course_plan.md # План курса ``` ## Автор Курс разработан на основе программы Yandex.Practicum "Архитектор программного обеспечения" с дополнениями и современными практиками. ## Лицензия Этот проект распространяется под лицензией MIT. См. файл [LICENSE](LICENSE) для подробностей. ## Вклад в проект Мы приветствуем вклад в развитие курса! Пожалуйста, создавайте Issues и Pull Requests для предложений по улучшению. ## Поддержка Если у вас есть вопросы по курсу, создайте Issue в этом репозитории.