Initial commit: Complete Software Architecture course with 11 modules

- 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
This commit is contained in:
Alexander Abakumov committed 2025-09-09 22:08:07 +03:00
commit 15e744da49
107 files changed
+61762

No files matched your search

+81
View File
@@ -0,0 +1,81 @@
# Курс "Архитектор программного обеспечения"
## Описание
Этот репозиторий содержит полный курс по архитектуре программного обеспечения, разработанный на основе программы 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 в этом репозитории.