Курс Software Engineering
- Online
- Для начинающих, Для опытных
- Other
![]() |
|
Образовательный центр: | IT-Столица |
---|---|
Формат: | Курс |
Язык обучения: | Ukrainian |
Длительность обучения: | 10 занятий |
Начало курса: | Любой момент |
Стоимость обучения: | 6 100 UAH за курс |
Подробности и регистрация
Курс Software Engineering побудований таким чином, що студенти розглядають п'ять складових процесу роботи, щоб отримати повне уявлення про процес розробки ПО. Continuous Integration, Testing, Delivery, Deployment і Operation.
Програма курсу
Підготовчий етап
Визначається рівень учнів, вибудовується комунікація з ними. Ознайомлення з планом занять і робота з теорією і методичними матеріалами.
Continuous Integration
- Основні поняття у галузі розробки програмного забезпечення
- Взаємодія розробника з членами команди
- Застосування Git для командної роботи над кодом
- Веб-додаток для управління завданнями Github
- Складання робочого графіка і менеджмент ресурсів
- За допомогою яких інструментів реалізують перевірку якості коду
- Автоматизація та управління завданнями за допомогою Jenkins
- Бранчінг версій для релізу і стабілізація коду
Continuous Testing
- Принципи розробки TDD (test-driven development)
- Як відбувається тестування якості коду із застосуванням SonarQube
- Юніт-тести й покриття коду
- Налаштування профілів воріт якості Quality Gates
- User Story Isolation
- Як визначити уразливості коду
- Відправлення коду в репозиторій
- Мануальне тестування
- Автоматизоване тестування
- E2E - тестування функції в реальних сервісах
- UI - тестування інтерфейсу шляхом імітації дій користувача
Архітектура програмного забезпечення (Software Architecture)
- Зовнішні чинники якості - robustness (стійкість), correctness (коректність), reusability (повторне використання), extendibility (розширюваність)
- Який буває архітектура ПО - Serverless, SOA, Web-Queue-Worker
- Типи архітектури: Standalone, N-tier, SOA, Microservices, Big Data / Big Compute, Serverless, Web-Queue-Worker, Event-driven architecture
- Моделі хмарних сервісів. XaaS, SaaS, IaaS, PaaS
- Збір вимог, постановка задачі estimates, pre-sales, RFI/RFP - запит інформації й запит пропозиції
- Робота з зовнішніми факторами якості
Проєктування програмного забезпечення (Software Design)
- Архітектура ПО і проєктування
- Архітектурне рішення і дизайн інтерфейсу
- Графічне представлення програмного коду
- Розподілене обчислення - теорія та алгоритми
- Polyglot Persistence
- Polyglot Programming
- Що таке парадигми програмування
- Функціональне та логічне програмування
- Процедурне програмування й ООП
- Структура даних
- Компілятор і інтерпретатор
- Відносини між класами в ООП: композиція і декомпозиція, асоціація, успадкування, агрегація
- Загальна структура організації проєкту
- Компонентна модель
- Дизайн-шаблони GRASP, T-diagrams, UML, MVC (MVVM)
- Документація
- CAP-теорема
- RDBMS
- NoSQL
- Graph DB, DB Migration
- Написання мікросервісу для API на мові Java
- Створення мікросервісу для аутентифікації за допомогою Node.js
- Багатопотокове програмування C++
- Алгоритми lock-free
- Angular/Typescript (front-end складова сервісу)
- Groovy для Jenkins DSL
- Підключення Postgresql, MongoDB і Neo4j
- Аутентифікація й авторизація. Контроль доступу RBAC/ABAC
- Message brokering
- Чим відрізняються принципи mobile-first і mobile-only
- Waterfall, RUP, Agile
- Багатопотокове програмування, клієнт-серверні системи, P2P
- Технічний борг, legacy-продукти, рефакторинг
- Кешування
- Multitenancy, аудит, брендинг, GDPR
Програмний інтерфейс додатку API
- Як створюється інтерфейс взаємодії
- Принципи об'єктно-орієнтованого програмування SOLID
- Контрактне програмування - специфікації інтерфейсів
- Що таке ортогональний API
- Стандарти API - GraphQL, RESTful API, OpenAPI
- Впровадження системи API-менеджменту
- Як організувати пагінацію (pagination)
- Rate Limits - обмеження частоти запитів до API для оптимізації роботи додатка
- Огляд ML
Continuous Delivery
- Внутрішня структура розробки ПО
- Сховище артефактів в репозиторії
- Що таке змінні середовища
- NoOps, Opsless
- Технологія Docker. Як використовувати Docker compose, щоб запустити додаток-контейнер
- Swarm
- Kubernetes
- Service Mesh (Istio)
Continuous Deployment
- Середовище розробки: Preview Env, Development Env, Test Env, Production Env
- Ефективність моделі follow-the-sun
- Швидкість розгортання версії ПЗ і вартість розробки
- A/B, Canary, 0-downtime, Blue-Green Deployment - шаблони розгортання
- Rolling updates - плаваючий метод оновлення ПЗ
Continuous Operation
- Технічна підтримка як частина розробки програмного забезпечення
- Обслуговування клієнтів і доопрацювання програми
- Планування розробки з урахуванням завдань SRE
- Лінії підтримки L1, L2, L3 і розв'язання клієнтських проблем
- Угода про рівень обслуговування SRE, SRE, SLI, SLA, SLO
- Відновлення даних і data backup strategy
- Системи моніторингу прогнозування
- Налаштування сповіщень про збої
Хмарні технології
- Хмарні технології як інструмент розробки
- Ключові технології хмарних сервісів
- Огляд основних хмарних платформ, їх архітектура
- Гібридна хмара - що таке і як з ним працювати
- Створення кластера для розгортання програми
- Робота з географічними зонами
- Апаратна і призначена для користувача віртуалізація
- Технології віртуалізації Docker і Kubernetes
Що вміють випускники курсу:
- Використовувати гілки та працювати в Git, знають стандарти зберігання програмного коду
- Ефективно проводити Release Management, керуючи процесом виходу програмного продукту
- Налаштовувати Quality Gates для SonarQube для оцінки якості коду, створювати користувальницькі ворота якості
- Проводити Code Review для підвищення якості коду програмних продуктів
- Формулювати бізнес-вимоги й перетворювати їх в технічне завдання
- Знають всі етапи життєвого циклу ПО і контролюють якість проходження кожного, починаючи з планування системи, закінчуючи її технічною підтримкою
- Уміють відправляти Pull Request, що є необхідною частиною процесу Code Review, і вносити зміни в код
- Знають принципи TDD (test-driven development) і застосовують їх у своїх проєктах
- Проводять налаштування систем (CI/CD), поєднуючи SonarQube, Jenkins, SonarQube, Github і Nexus для безперервної інтеграції
- Створюють фреймворки тестування і знають відмінності між end-to-end і юніт-тестуванням
Особливості курсу
- Викладачі практики
- Корпоративне навчання
- Можливість навчатись у вихідні
- Можливість влаштуватись у провідні IT-компанії
- Індивідуальне навчання
Читайте нас в Telegram, чтобы не пропустить анонсы новых курсов.
Похожие курсы
Учебный центр
Genius.Space
Формат
Online
Начало обучения
Будь-який момент
Длительность
9 занятий
Уровень
Для начинающих, Для опытных
Язык обучения
Ukrainian
Стоимость
49 USD за курс
Учебный центр
CASES-Креативна Практика
Формат
Online
Начало обучения
Будь-який момент
Длительность
-
Уровень
Для начинающих
Язык обучения
Ukrainian
Стоимость
безкоштовно
Учебный центр
SkillsUp
Формат
Online
Начало обучения
Будь-який момент
Длительность
11 недель
Уровень
Для начинающих
Язык обучения
Ukrainian
Стоимость
5 490 UAH за курс
Учебный центр
Учебный центр «Данко»
Формат
Online
Начало обучения
Дата формується
Длительность
12 часов
Уровень
Для начинающих
Язык обучения
Ukrainian
Стоимость
уточняйте