Текст площадки «Складчик». Упомянутые цены и обещанные результаты могут быть неактуальны; условия покупки проверяйте у продавца.
Читать полное описание
Поможем стать архитектором информационных систем
Чему вы научитесь:
проектировать архитектуру информационных систем и программ для бизнеса;
контролировать процесс и качество разработки;
выбирать оптимальные подходы для создания высоконагруженных и отказоустойчивых систем.
После учебы вы сможете претендовать на вакансии:
архитектор программного обеспечения;
IT-архитектор;
архитектор информационных систем;
Solution и Enterprise архитектор.
Курс для опытных специалистов:
а) Middle-разработчикам, чтобы заниматься архитектурой систем
б) Начинающим архитекторам систем, чтобы учиться на чужих ошибках
в) Практикующим архитекторам, чтобы систематизировать знания
Что нужно знать:
- Базовые принципы ООП и язык программирования
Подойдёт любой верхнеуровневый язык, желательно со строгой типизацией: C#, Java, C++, Kotlin, ES2015+/TS, Python, Ruby.
- Основы сетевых и веб-технологий
Понимание принципов работы HTTP, HTML, CSS, JS, реляционных и нереляционных баз данных, типов и структур данных, сетевого стека TCP/IP.
- Процесс разработки ПО
Желательно иметь опыт разработки от одного года, понимать основы алгоритмизации, уметь работать с GIT и UNIX-подобными системами.
Технологии и подходы, которые вы освоите:
- Swagger;
- Open API;
- REST;
- UML;
- IDEF;
- RabbitMQ;
- Kafka;
- Docker;
- Kubernetes;
- ELK;
- Zabbix;
- Prometheus;
- Grafana;
- NGINX;
- Владение современными парадигмами программирования;
- Владение принципами SOLID, ООА, понимание чистой архитектурыж;
- Умение проектировать прикладные приложения с базами данных и пользовательским интерфейсом (MPA и SPA);
- Навык проектирования систем на основе сервисов (SOA) и микросервисов (микросервисная архитектура);
- Понимание принципов управления развёртыванием, сопровождением и поддержкой разработанных систем за счёт использования механизмов контейнеризации, логирования, мониторинга и оркестрации;
I модуль Введение в разработку ПО. Парадигмы программирования
Поговорим о современных парадигмах программирования, их взаимосвязи, достоинствах и недостатках.
Введение в понятие архитектуры и проектирование ПО
Введение в программирование. Принципы структурного программирования.
Принципы объектно-ориентированного программирования
Идеи функционального подхода
Идеи логического программирования
Декларативное программирование
Две практические встречи
II модуль Базовые принципы проектирования. Объектно-ориентированное проектирование ПО
Расскажем об ООП и паттернах объектно-ориентированного проектирования. Вы узнаете, как строить чистые архитектуры, проектировать библиотеки и собирать ПО для бизнес-задач.
Принципы SOLID
Объектно-ориентированные паттерны: порождающие
Объектно-ориентированные паттерны: структурные
Объектно-ориентированные паттерны: поведенческие
Компоненты. Принципы связности и сочетаемости компонентов
Архитектура. Горизонтальные уровни и вертикальные срезы
Чистая архитектура. Принципы построения. Best Practiсes
Практическая встреча
Проект: Спроектированное и разработанное в соответствии с принципами SOLID ПО
III модуль Проектирование прикладных приложений
Вы научитесь проектировать приложения с базами данных и пользовательским интерфейсом, а также организовывать передачу и обработку данных.
Хранение данных. Выбор способа организации хранения данных под задачу.
Паттерны проектирования приложений с базой данных (Repository)
Передача данных. Способы организации передачи данных между приложениями и их частями
Представление данных. Паттерны проектирования приложений с пользовательским интерфейсом
MVC (на примере классических MPA приложений)
MVP/MVVM (на примере десктопных и мобильных приложений)
Архитектуры SPA-приложений
Обработка данных. Принципы построения систем обработки данных
Проект: Спроектированное и разработанное приложение с базой данных и пользовательским интерфейсом
IV модуль Проектирование сервис-ориентированных архитектур (SOA) и их производных
Получите навыки проектирования систем на основе сервис-ориентированной (SOA) и микросервисной архитектуры.
Понятие сервис-ориентированной архитектуры
Понятие микросервисной архитектуры
Способы организации взаимодействия сервисов. Протоколы. Шина.
Надежность, отказоустойчивость и безопасность систем
Горизонтальное масштабирование. Базовые подходы
Распределённые системы обработки информации
Распределённые хранилища данных
Вопросы идентификации, аутентификации и авторизации
Проект совместно с «Ростелеком»: Спроектированная распределенная система обработки на основе сервисов
V модуль Развертывание, сопровождение, поддержка (CI/CD)
Узнаете, как управлять, развертывать, сопровождать и поддерживать информационные системы.
CI/CD
Контейнеризация (Docker)
Оркестрация контейнеров
Логирование (ELK)
Мониторинг (Zabbix, Prometheus, Grafana)
Service Discovery, конфигурирование
Настройка веб-серверов (NGINX)
Защита информации в информационных системах
Проект: Настройка развертывания для SOA