- Добавлена карта курса с Mermaid диаграммой - Восстановлен рекомендуемый путь изучения по этапам - Добавлена быстрая навигация по сложности и темам - Восстановлены прямые ссылки на все модули курса
165 lines
9.6 KiB
Markdown
165 lines
9.6 KiB
Markdown
# Курс "Архитектор программного обеспечения"
|
|
|
|
## Описание
|
|
|
|
Этот репозиторий содержит полный курс по архитектуре программного обеспечения, разработанный на основе программы Yandex.Practicum и дополненный современными практиками и технологиями.
|
|
|
|
## 🗺️ Карта курса
|
|
|
|
```mermaid
|
|
graph TD
|
|
A[Модуль 1: Основы архитектуры ПО] --> B[Модуль 2: Микросервисная архитектура]
|
|
B --> C[Модуль 3: Контейнеризация и оркестрация]
|
|
C --> D[Модуль 4: Масштабируемость и отказоустойчивость]
|
|
D --> E[Модуль 5: Мониторинг и наблюдаемость]
|
|
E --> F[Модуль 6: Безопасность и соответствие требованиям]
|
|
F --> G[Модуль 7: Документирование архитектуры]
|
|
G --> H[Модуль 8: Облачные технологии и миграция]
|
|
H --> I[Модуль 9: Управление командой и процессы]
|
|
I --> J[Модуль 10: Производительность и оптимизация]
|
|
J --> K[Модуль 11: Финальный проект]
|
|
|
|
style A fill:#e1f5fe
|
|
style B fill:#f3e5f5
|
|
style C fill:#e8f5e8
|
|
style D fill:#fff3e0
|
|
style E fill:#fce4ec
|
|
style F fill:#ffebee
|
|
style G fill:#e0f2f1
|
|
style H fill:#f1f8e9
|
|
style I fill:#fff8e1
|
|
style J fill:#e3f2fd
|
|
style K fill:#f9fbe7
|
|
```
|
|
|
|
## 📚 Рекомендуемый путь изучения
|
|
|
|
### Этап 1: Основы (Модули 1-3)
|
|
- **Модуль 1**: Изучите принципы архитектуры ПО, SOLID, архитектурные стили
|
|
- **Модуль 2**: Погрузитесь в микросервисную архитектуру
|
|
- **Модуль 3**: Освойте контейнеризацию с Docker и Kubernetes
|
|
|
|
### Этап 2: Практические навыки (Модули 4-6)
|
|
- **Модуль 4**: Изучите паттерны масштабирования и отказоустойчивости
|
|
- **Модуль 5**: Настройте мониторинг и логирование
|
|
- **Модуль 6**: Обеспечьте безопасность системы
|
|
|
|
### Этап 3: Профессиональное развитие (Модули 7-9)
|
|
- **Модуль 7**: Научитесь документировать архитектуру
|
|
- **Модуль 8**: Освойте облачные технологии и миграцию
|
|
- **Модуль 9**: Развивайте навыки управления командой
|
|
|
|
### Этап 4: Мастерство (Модули 10-11)
|
|
- **Модуль 10**: Оптимизируйте производительность системы
|
|
- **Модуль 11**: Реализуйте финальный архитектурный проект
|
|
|
|
## 🚀 Быстрая навигация
|
|
|
|
### По сложности
|
|
- **Начинающий**: [Модуль 1](modules/module1/README.md), [Модуль 7](modules/module7/README.md)
|
|
- **Средний**: [Модуль 2](modules/module2/README.md), [Модуль 3](modules/module3/README.md), [Модуль 4](modules/module4/README.md)
|
|
- **Продвинутый**: [Модуль 5](modules/module5/README.md), [Модуль 6](modules/module6/README.md), [Модуль 8](modules/module8/README.md)
|
|
- **Эксперт**: [Модуль 9](modules/module9/README.md), [Модуль 10](modules/module10/README.md), [Модуль 11](modules/module11/README.md)
|
|
|
|
### По темам
|
|
- **Архитектура**: [Модуль 1](modules/module1/README.md), [Модуль 2](modules/module2/README.md)
|
|
- **DevOps**: [Модуль 3](modules/module3/README.md), [Модуль 9](modules/module9/README.md)
|
|
- **Облако**: [Модуль 8](modules/module8/README.md)
|
|
- **Безопасность**: [Модуль 6](modules/module6/README.md)
|
|
- **Производительность**: [Модуль 4](modules/module4/README.md), [Модуль 10](modules/module10/README.md)
|
|
|
|
## Структура курса
|
|
|
|
Курс состоит из 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 для предложений по улучшению.
|
|
|
|
## 🔗 Навигация по курсу
|
|
|
|
### Все модули курса
|
|
1. [📋 Основы архитектуры ПО](modules/module1/README.md)
|
|
2. [🏗️ Микросервисная архитектура](modules/module2/README.md)
|
|
3. [🐳 Контейнеризация и оркестрация](modules/module3/README.md)
|
|
4. [📈 Масштабируемость и отказоустойчивость](modules/module4/README.md)
|
|
5. [📊 Мониторинг и наблюдаемость](modules/module5/README.md)
|
|
6. [🔒 Безопасность и соответствие требованиям](modules/module6/README.md)
|
|
7. [📝 Документирование архитектуры](modules/module7/README.md)
|
|
8. [☁️ Облачные технологии и миграция](modules/module8/README.md)
|
|
9. [👥 Управление командой и процессы](modules/module9/README.md)
|
|
10. [⚡ Производительность и оптимизация](modules/module10/README.md)
|
|
11. [🎯 Финальный проект](modules/module11/README.md)
|
|
|
|
### Полезные ссылки
|
|
- [📋 План курса](course_plan.md)
|
|
- [📄 Лицензия](LICENSE)
|
|
- [❓ Поддержка](#поддержка)
|
|
|
|
## Поддержка
|
|
|
|
Если у вас есть вопросы по курсу, создайте Issue в этом репозитории. |