- Frontend
Програма курсу
Модуль 1 - Основи верстки сайтів
- Введення у веб-розробку
- Основи роботи з графічним редактором Figma
- Введення в HTML, теги, атрибути, елементи
- Робота з об'єктами Form
- Введення в CSS - властивості, правила, успадкування, каскадування, нормалізація та скидання стилів
- CSS стилі, робота зі стилями
- CSS потоки, позиціонування та розташування об'єктів по сітці
- Псевдокласи, псевдоелементи
- CSS3 та робота з анімацією
- FlexBox
- Робота зі шрифтами
Модуль 2 - Оптимізація верстки сайтів та знайомство з Frontend
- Адаптивна та чуйна верстка, основні правила створення адаптивного сайту
- Медіа-запроси
- Препроцесор - SASS/SCSS, знайомство з LESS
- Введення у jQuery
- Підключення, кастомізація та комплексна робота з плагінами
- Tabs, Slider
- Основи JavaScript - змінні, функції, робота з елементами
Результати після проходження курсу:
- Впевнені знання mark-up та можливість продовжувати навчання у напрямку програмування (JavaScript, PHP, Java)
- Вміння самостійно створювати красиві та зручні сайти для Web та Mobile
- Власний готовий проєкт та приклади робіт, які можна показати на співбесіді
- Найкращі студенти отримають рекомендації для працевлаштування в IT компанії
Особливості курсу
- Є можливість оплатити курс частинами
- Наприкінці курсу надається сертифікат
- Курс збудований з урахуванням реальних вимог IT компаній
- Протягом всього курсу ведеться рейтинг успішності
- Бонусне заняття зі стратегії працевлаштування
- IT Recruiting
- HR / Employer Branding
Програма курсу
Теми:
- Специфіка IT сфери в Україні та за кордоном. Особливості роботи рекрутера, hr-менеджера в IT сфері
- Ринок праці в IT. Професії в IT, хто чим займається і як пов'язані. Види IT фахівців
- Технічна база: мови програмування та технології. IT-термінологія
- Як зрозуміти, хто потрібен замовнику (заявка). Складні замовники та підводні камені. Профіль посади. Опис вакансії. Активний та пасивний пошук. Інструменти пошуку. Соцмережі та спільноти
- Як зацікавити кандидата. Діалоги (практика). Продаж вакансій. Job-offer, контр-оффер, робота з запереченнями. Методи первинної оцінки кандидатів
- Співбесіда в IT. Особливості процесу та результату. Співбесіди: види, типи, етапи. Супровідна роль рекрутера на кожному з етапів
- Життя новачка в період адаптації - або перший крок до того, щоб він залишився
- Мотивація та корпоративна культура, як інструменти залучення та утримання співробітника. Бренд HR та бренд роботодавця
- Кар'єра в IT: оцінка та розвиток співробітників
- Звільнення: основні причини, утримання, гарне прощання
- Практика рекрутингу + підготовка до іспиту
- Практика HR + підготовка до іспиту
- Іспит + випуск
Результат після проходження курсу:
- Можливість реалізувати свої таланти у сфері спілкування та комунікацій
- Сучасну професію та знання в IT сфері
- Підтримку та консультації досвідчених фахівців-практиків
- Найкращі студенти матимуть можливість працевлаштування у провідні IT-компанії
Особливості курсу
- Сертифікат після проходження курсу
- Курс побудований з урахуванням реальних вимог IT компаній
- Протягом усього курсу ведеться рейтинг успішності
- Додаткове заняття зі стратегії працевлаштування
- Project Manager
Програма курсу
Теми:
- Вступ. Етапи розробки проєктів
- Роль PM-а у ІТ розробці
- Ділове листування та комунікація з клієнтом: інструменти, етапи, стилі, типові помилки
- Робота з презентаціями та звітами. FigJam
- Фінансові питання управління проєктами: розрахунки собівартості. Estimate
- Фінансові питання управління проєктами: розрахунки рейтингів. Story Points
- Ризики. Розрахунок та опрацювання ризиків
- Робота з проєктом: види проєктів, етапи, документація. SRS
- Робота з командою: організація роботи, конфлікти, мотивація
- Робота з командою: мітинги, контроль виконання робіт
- Методології управління проектами: Agile, SCRUM, Kanban, Waterfall
- Проєктні метрики: оцінка ефективності управління проєктом. Gantt
- Проєктні метрики: пріоритезація та робота з інформацією. Стадії завершення
- Інструменти управління проєктами: Trello, Monday, AirTable
- Підготовка до співбесіди та захист курсового проєкту
Результат після проходження курсу:
- Практичні знання в галузі управління проєктами та комунікації з клієнтом
- Новий погляд та сучасний підхід до ведення IT бізнесу
- Планування бюджету та терміни проєкту
- Складати план управління
- Навчіться працювати у критичних умовах та в умовах обмежених ресурсів, делегувати завдання
Особливості курсу
- Сертифікат після проходження курсу
- Курс збудований з урахуванням реальних вимог IT компаній
- Протягом усього курсу ведеться рейтинг успішності
- Додаткове заняття зі стратегії працевлаштування
- QA Automation / QA Manual
Теоретичні знання вчитимешся відразу застосовувати на практиці. Познайомишся з усіма видами тестування і навчишся використовувати їх. Жодних відеоуроків та шаблонних завдань. Онлайн заняття з викладачем у міні-групі 6-14 студентів з можливістю прямої комунікації.
Програма курсу
Цілі та завдання тестування
- Загальні поняття та терміни у тестуванні
- Види, цілі та завдання тестування
- Відмінності тестування ПЗ від тестування ігор
- Матриця компетенцій тестувальника ігор
SDLC та STLC у геймдеві
- Детальніше про пайплайн аутсорсу та трохи про продукт\аутстаф
- Ваша тест команда
- Команди інших департаментів
- Замовник та паблішер
- Платформотримач
- Кінцевий користувач та його фідбек
- Дизайн документація. Тестплан. Чеклісти\тесткейси
Термінологія основи
- Загальні геймдев поняття. Ігровий сленг
- Quality Assurance
- Процеси. ПМ-и
- Програмування та геймдизайн
- Дизайн\Арт\Анімації
Game Mechanics. Розбір гри на механіки
- Поняття "ігрова механіка". Опис механіки тестами
- Взаємодія механік
- Black/White Box на реальних ігрових прикладах. Метод тестування "всіх пар", тестування переходів станів
Напрями у геймдев тестуванні та їх попит
- PC - steam \ egs \ winGamePass
- consoles, VR, steamdeck
- mobile
- web браузер та ігри на TV
Рушії розробки та пайплайн
- Unreal Engine \ Unity\ Godot
- CryEngine. Frostbite. REDengine. Source. 4A Engine
- VCS, білди і коміти
Інструменти гейм тестувальника
- Test Management System (на прикладі testomat )
- GitHub як багтрекер та майбутній репозиторій для портфоліо
- Google Docs and Excel
- Jira як таск-трекер та система для ведення багів
- Console "managers", obs, fiddler
Платформи та їх технічні особливості
- PC windows. Linux\MacOS
- Consoles XBOX\PS\Switch, Steamdeck
- Mobile
- Web браузер та ігри на TV
- VR
Основні платформи на курсі
- Windows xbox app
- Steam\EGS
- Загальні вимоги для релізу про сертифікації платформ
Стабільність гри
- Активна ігрова платформа
- Ігрова платформа в режимі очікування
- Ігрова платформа в режимі мультизадачності
Якість гри
- "Проходимість" гри
- Налаштування та Навігація
- Локалізація
- Онлайн Рейтинги "ладдеру"
- Локальна гра
- Сейви
- Звук
Генерації консолей
- Ввід з контроллеру
- Кросс-сейви
- Онлайн-сегментизація мультиплеєру
- Ігрові режими
- Кросс платформ-сумісності
Пам'ять пристрою та Картинка. Акаунт і Чат
- HDR/4K Режими відображення картинки
- Підключення до сторонніх сервісів. Лінкування EA\Epic акаунтів
- Постійна пам'ять пристрою. Запис та доступність
- Персональна інформація і дані юзера. Запити від гри
- Чат та його налаштування. М'ют і блок
Термінологія платформ
- Controller \ Gamepad
- Console
- Заборони
Взаємодія з інтернетом
- Підключення до мережі
- Ігрові сервіси
- Занижена швидкість
- Сервіси платформи
- Нестабільність мережі
Соціальні механіки
- Доступ до гри. Валідація віку гравця
- Контент згенерований гравцями
- Система репортів Мультиплеєр
- Нещодавні гравці
- Кросс платформа та кросс нетворк. Список друзів. Інвайти
Запуск гри під час встановлення
- Можливість грати у частину гри при завантаженні якогось %
- Завантаження додаткового конетнту. Локалізаційні паки
DLC
- Доступність без перезавантаження. Активація DLC під час гри
- Залежності від ДЛЦ та сейвів. Сейви на ДЛЦ контенті та рефанд
- Відображення цін на додатковий інгейм контент. Різниця у відображенні
Контроллер і профіль гравця
- Підключення контроллеру до системи та його прив'язка до юзеру
- Відключення контроллеру та юзеру
Робота з профілем гравця
- Привілегії юзера та сімейних акаунтів
- Відображення ніку та аватару
- Доступ до інших профілів
- Зміна даних профілю. Апдейт цієї інформації у реальному часі
- Ачівки та бали
Синхронізація у профіль
- Прогрес, сейви, ачівки
- Зміна юзеру
- Хмарне сховище
Персональний план розвитку
- Резюме, прескрін, інтерв'ю, випробувальний термін, зріст грейду
- Як розвивати не лише навички тестування, а й мислення геймера
- Перспективи та автоматизація
Особливості курсу
- Теорія та практика
- Real-life заняття
- Фідбек від професіонала
- Доступ до матеріалів
- Випускний проєкт
- Кар'єрний сервіс
Викладачі курсу
Олексій Рогальський - Team Lead QA in GameDev
Подать заявку- Data Engineer / Big Data
Курс складається з двох частин. У першій ми розглядаємо способи "універсального" розв’язання комбінаторних задач методом повного перебору і способи оптимізації цих алгоритмів. У другій частині ми задіємо метод динамічного програмування з рекурсією, який дозволить створювати дійсно швидкі та ефективні алгоритми пошуку.
Програма курсу
Цикли. Графічні візерунки
На цьому уроці ми будемо доводити навичку використання циклів до досконалості. Щоб досягти інтуїтивного розуміння, краще "один раз побачити", тому ми будемо малювати химерні візерунки, використовуючи комбінації вкладених циклів і умов.
Прості числа. Оптимізація алгоритмів
На цьому уроці ми напишемо алгоритм генерації простих чисел, а потім почнемо його оптимізувати різними способами, заміряючи час роботи кожного варіанту.
Прості задачі на перебір варіантів
На цьому уроці ми розв’яжемо декілька комбінаторних задач методом "грубої сили", а потім розглянемо ідеї оптимізації кожного алгоритму.
Гра зі штучним інтелектом. Пошук кращого ходу перебором
На цьому уроці ми створимо просту гру, а потім навчимо комп'ютер в неї грати: створимо штучний інтелект для пошуку гарного ходу.
Контрольна робота на перебір варіантів
На цьому уроці буде "спортивне програмування". У Вас буде декілька комбінаторних задач на перебір варіантів та обмежений час. Подивимося, чого ви навчилися і скільки задач встигнете вирішити!
Рекурсія. Побудова фракталів
На цьому уроці ми будемо доводити навичку використання рекурсії до досконалості. Щоб досягти інтуїтивного розуміння, краще "один раз побачити", тому ми будемо малювати фрактали - повторювані візерунки, використовуючи алгоритми з рекурсивним викликом.
Складні функції. Оптимізація алгоритмів
На цьому уроці ми напишемо алгоритми обчислення деяких алгебраїчних функцій, а потім почнемо їх оптимізувати різними способами, заміряючи час роботи кожного варіанту.
Складні завдання на перебір варіантів
На цьому уроці ми вирішимо кілька комбінаторних задач методом динамічного програмування з використанням рекурсії та без неї.
Гра зі штучним інтелектом. Пошук альфа-бета відсіканням
На цьому уроці ми продовжимо створення штучного інтелекту для нашої гри. Але на цей раз ми скористаємося рекурсивним пошуком в глибину з відсіканням помилкових рішень.
Контрольна робота на динамічне програмування
На цьому уроці буде "спортивне програмування". У Вас буде декілька комбінаторних задач на динамічне програмування та обмежений час. Подивимося, чого ви навчилися і скільки задач встигнете вирішити!
Особливості курсу
- Практичні заняття і перевірка ДЗ
- Безкоштовний відеокурс
- Онлайн тестування і сертифікація
Викладачі курсу
Євген Волосатов - Тренер-консультант, автор освітніх вебінарів ITVDN
Подать заявку- Other
Даний курс допоможе вам розібратися з основними функціями і кращими практиками використання Team Foundation Server.
Програма курсу
Архітектура TFS. Адміністрування
- Що таке TFS
- Архітектура TFS
- Основні можливості TFS
- Системні вимоги і встановлення TFS
- Колекції проєктів
- Командні проєкти
- Практика: створення колекції проєктів і командного проєкта
- Моделі систем контролю версій
- Розуміння робочої області (workspace)
Система контролю версій
- Підключення до TFS
- Додання рішення (solution) до командного проєкту
- Створення і налаштування робочої області
- Операція Get Latest Version
- Внесення змін в систему контролю вихідного коду
- Перегляд історії
- Операції переміщення і переіменування
- Операції Delete i Undelete
- Операції Shelve i Unshelve
- Операція Get Specific Version
- Рішення конфліктів
- Анотація коду
- Налаштування Email сповіщень
- Налаштування політики Check-In
- Операції Branch i Merge
Керування роботою
- Що таке шаблони робочих процесів (Process Templates)
- Основні відмінності між шаблонами MSF Agile i MSF CMMI
- Розуміння робочого елементу. Його структура
Після завершення курсу ви будете вміти:
- Працювати з архітектурою TFS, здійснювати адміністрування
- Створювати колекцію проєктів (Project Collection) і командний проєкт (Team Project)
- Встановлювати права доступу для користувачів, розуміти концепцію робочих областей (workspace)
- Створювати та налаштовувати Workspace
- Працювати з системою контролю версій
- Працювати з операціями Get Latest Version і Get Specific Version, виконувати операцію Check In
- Вирішувати конфлікти редагування файлів
- Налаштовувати політики Check In та оповіщення для командного проєкту, використовувати операції Branch і Merge
Попередні вимоги
- Досвід розробки програмного забезпечення
- Досвід роботи з Visual Studio останьої версії
Особливості курсу
- Практичні заняття і перевірка ДЗ
- Безкоштовний відеокурс
- Онлайн тестування і сертифікація
- Gamedev / Unity / Game Design
Цей навчальний курс призначений для людей, які вже працювали в Unity3D і створювали свої простенькі ігри, а тепер хочуть створити щось більше. Завдання курсу - навчити людину керувати складним ігровим світом, налаштувати грамотну взаємодію і управління персонажами.
Програма курсу
Основи роботи з 2D в Unity 3D
На уроці розглядається:
- 2D i 2.5D відмінності
- Карти спрайтів і 2D анімації
- Створюємо 2D гру
Створення персонажа
- Створення візуального аватара з анімаціями
- Управління персонажем
- Створення основних скриптів персонажа
Карта і взаємодія між сценами
В уроці розглядаються:
- Створення карти і розміщення на ній персонажа
- Створення візуально гарних ефектів на карті
- Зміна двох карт (Перемикання між сценами)
Основні ігрові характеристики персонажа
В уроці розглядаються:
- Створення бази обліку здоров'я і мани
- Створення заклинання персонажу (вогняна куля)
- Облік ігрових балів
Створення бота
В уроці розглядаються:
- Створення 3D аватара ігрового бота
- Написання скрипта штучного інтелекту
- Розміщення на карті і взаємодія з гравцем
Умовні перемоги і Тригери
В уроці розглядаються:
- Налаштування основних умов перемоги
- Створення скрипта для отримання додаткових завдань і нагороди за них
- Збереження ігрового процесу
Меню
В уроці розглядаються:
- Створення головного меню гри з вибором рівнів
- Система статистики
- Ігрові досягнення
- Запуск гри на різних пристроях
Після завершення курсу ви будете вміти:
- Створювати прості 2D ігри
- Створювати власних персонажів та скриптів для них, управляти персонажами
- Працювати з картою, робити візуально гарні ефекти на ній, здійснювати зміну двох карт
- Задавати основні ігрові характеристики персонажа: здоров'я, ігрові бали тощо
- Створювати бота, прописувати поведінку штучного інтелекту
- Налаштовувати основні умови перемоги у грі та зберігати ігровий процес
- Створювати меню гри з вибором рівнів, системою статистики та ігровими досягненнями
Попередні вимоги
- Знання мови C# на рівні не нижче Essential
- Освоїти Unity3D на рівні курсу Unity Starter
Особливості курсу
- Практичні заняття і перевірка ДЗ
- Безкоштовний відеокурс
- Онлайн тестування і сертифікація
- C# / .NET
- Lead / Architect / CTO
Мета даного курсу – навчити розробників та архітекторів рішень використовувати шаблони проектування, що пропонуються групою “Patterns & Practice” для створення ефективних, високоякісних програм на платформі Microsoft .NET Framework у найкоротший термін та з найменшими ризиками завдяки використанню перевірених архітектурних принципів та шаблонів проектування.
Програма курсу
Шаблони проєктування складених прикладних програм WPF та Silverlight. Частина 1
- Шаблони категорії "Модульність" та "Тестування". Створення локатор-сервісу, впровадження залежності та інверсія керування.
- Service Locator - Створює локатор сервісу, що містить посилання на сервіси та інкапсульовану логіку для їх розташування. У своїх класах використовуйте локатор сервісу для отримання екземплярів сервісу.
- Dependency Injection - Екземпляри залежностей не повинні створюватися у класі явно, а мають бути представлені декларативно у його описанні. Використовуйте об'єкт Builder для отримання дійсних екземплярів залежності об'єкта та їх передачі в об'єкт при його створенні та/чи ініціалізації.
- Inversion of Control - Делегування функції вибору конкретного типу реалізації залежностей класів зовнішньому компоненту чи джерелу.
Шаблони проєктування складених прикладних програм WPF та Silverlight. Частина 2
Шаблони категорії "Тестування"
- Separated Presentation - Відокремлення логіки представлення від бізнес-логіки. Шаблон Separated Presentation може бути реалізований по-різному, наприклад, як Supervising Presenter, або Presentation Model та т.п.
- Presentation Model - Розділяє обов'язки по візуальному відображенню та реалізації стану та поведінки інтерфейсу користувача (UI) між різними класами, котрі названі Представлення та Модель презентації відповідно. Клас представлення керує елементами управління UI. Клас моделі презентації інкапсулює методи доступу до моделі та забезпечує відкритий інтерфейс, з яким легко взаємодіяти представленню (наприклад, шляхом прив'язки даних). Таким чином, клас моделі презентації є фасадом з характерним для UI станом та поведінкою.
- Supervising Presenter та Supervising Controller - Розподіляє обов'язки по візуальному відображенню та методами обробки подій між різними класами, котрі названі Представлення та Презентатор відповідно. Клас представлення керує елементами управління UI, передаючи події користувача класу презентатора. Клас презентатора включає логіку, яка дозволяє відповідати на події, оновлювати модель (бізнес-логіку та дані програми) та керувати станом класу представлення.
Шаблони передачі даних. Переміщення даних. Частина 1
- Data Replication - Створює набір реплікації та зв'язок реплікації для передачі даних між двома розташуваннями. Цей шаблон описує загальний процес, що деталізований у шаблонах передачі даних, описуваних у даному переліку.
- Master-Master Replication - Копіює дані із джерела у задане місце, знаходить та усуває будь-які конфлікти оновлення, що виникли з моменту останньої реплікації (через зміни однакових даних джерела та цілі). Рішення включає два перехресні зв'язки реплікації між джерелом та цільовим розташуванням. Обидва зв'язки передають однаковий набір реплікації у обох напрямках. Такі пари зв'язків реплікації називають пов'язаними.
- Master-Subordinate Replication - Копіює дані із джерела у задане місце без врахування оновлень, які могли відбутися для набору реплікації у цільовому розташуванні з моменту останньої реплікації.
- Master-Master Row-Level Synchronization - Використовує пару пов'язаних зв'язків реплікації між джерелом та цільовим розташуванням, а також контролер синхронізації для управління синхронізацією у обох напрямках. Для синхронізації більше, ніж двох копій набору реплікації створює відповідну пару зв'язків реплікації для кожної додаткової копії.
Шаблони передачі даних. Переміщення даних. Частина 2
- Master-Subordinate Snapshot Replication - Створює копію набору реплікації джерела у визначений момент часу (називається знімком), переносить цю копію у цільове розташування та перезаписує цільові дані. У цьому випадку будь-які зміни, що могли відбутися у цільовому наборі реплікації, заміняються новим набором реплікації джерела.
- Capture Transaction Details - Створює додаткові об'єкти бази даних, такі як тригери і (тіньові) таблиці, та записує зміни до всіх таблиць, що входять у набір реплікації.
- Master-Subordinate Transactional Incremental Replication - Запитує у джерела дані про транзакції, що завершилися, і повторює транзакції у правильній послідовності при записі у цільове розташування.
- Master-Subordinate Cascading Replication - Збільшує число зв'язків реплікації між джерелом та ціллю, додаючи одну чи більше проміжних цілей між джерелом та кінцевими цільовими базами даних. Ці проміжні цілі являють собою сховище даних, що приймає набір реплікації із джерела, і, таким чином, виступає у ролі цільового розташування для попереднього зв'язку реплікації. При передачі даних по наступному зв'язку реплікації попередня проміжна ціль вже виступає в ролі джерела, і так далі, поки не буде досягнута кінцева ціль каскаду.
Шаблони передачі даних. Прототипи шаблонів
- Maintain Data Copies - Виконує синхронний запис у копії даних із початкової програми чи синхронну публікацію даних у локальний кеш для подальшої їх передачі асинхронним сервісом.
- Application-Managed Data Copies - Коли яка-небудь програма змінює свою копію даних, вона також повинна внести зміни і в інші копії. Програма повинна забезпечити оновлення копій даних і/чи похідних даних тією ж транзакцією, яка виконує зміну початкових даних.
- Extract-Transform-Load - Тип передачі даних, який може забезпечувати виконання складних запитів для отримання даних із гетерогенних джерел, застосування складних операцій з даними, які включають агрегацію та очистку, але завжди виконуючий простий запис із заміщенням всіх змін у цілі.
- Topologies for Data Copies - Архітектурні підходи по розгортанню копій даних на декількох платформах.
Шаблони корпоративних рішень. Шаблони розгортання. Частина 1
- Deployment Plan - Створює план розгортання, що описує, які компоненти програми на які рівні будуть розгортатися. Якщо в процесі розподілу компонентів по шарам виявляється, що якийсь шар не підходить для компонента, визначте рентабельність внесення змін до компоненту для покращення його роботи з інфраструктурою чи внесення змін до інфраструктури для більшої відповідності компоненту.
- Layered Application - Розділяє компоненти рішення на шари. Компоненти кожного шару повинні бути зв'язані і знаходитися приблизно на одному рівні абстракції. Кожний шар повинен бути слабо зв'язаним із нижче розташованими шарами.
Шаблони корпоративних рішень. Шаблони розгортання. Частина 2
- Three-Layered Services Application - Копіює дані із джерела у задане місце без врахування оновлень, котрі могли відбутися для набору реплікації у цільовому розташуванні з моменту останньої реплікації.
- Tiered Distribution - Структурує сервери та клієнтські комп'ютери як набір фізичних рівнів та розподіляє компоненти програми по відповідним рівням.
- Three-Tiered Distribution - Структурує програму на три фізичні рівні: клієнтський рівень, рівень програми та рівень бази даних.
Шаблони корпоративних рішень. Розділені системи
- Broker - Використовуйте шаблон Broker для приховання деталей реалізації виклику віддаленого сервісу шляхом його інкапсуляції у окремий шар.
- Data Transfer Object - Створює об'єкт передачі даних (Data Transfer Object, DTO), що містить всі дані, які необхідні для віддаленого виклику. Змінює сигнатуру віддаленого методу, щоб приймати DTO як один параметр та повертати його клієнту. Після того як DTO отримано і збережено у вигляді локального об'єкту, програма може викликати процедури DTO без необхідності виконання віддалених викликів.
- Singleton - Одинак забезпечує створення єдиного екземпляру класу. Інші об'єкти можуть здійснювати доступ до даного екземпляру через глобально доступний метод класу, який повертає посилання на екземпляр. Крім того, конструктор класу повинен бути оголошений private, щоб ні один інший об'єкт не зміг створити новий екземпляр.
Шаблони корпоративних рішень. Продуктивність та надійність
- Server Clustering - Кластер серверів – це об'єднання двох чи більше серверів, що представляється як єдиний сервер. Таким чином, формується віртуальний ресурс, котрий розширяє доступність, масштабованість чи і те, і інше.
- Load-Balanced Cluster - Забезпечує установку сервісу чи програми на декілька серверів, що сконфігуровані для розподілення робочого навантаження. Такий тип конфігурації називають кластером з балансуванням навантаження. Балансування навантаження масштабує продуктивність таких серверних програм, як веб-сервер, шляхом розподілення клієнтських запитів на множину серверів. Технології балансування навантажень, які звичайно називають підсистемами балансування навантаження, приймають вхідні запити і у випадку необхідності перенаправляють їх на певний вузол. Вузли балансування навантаження одночасно відповідають на запити різних клієнтів (навіть на велику кількість запитів одного клієнта).
- Failover Cluster - Відмовостійкий кластер – це набір серверів, сконфігурованих таким чином, що якщо один сервер стає недоступним, інші сервери автоматично беруть на себе роботу того серверу, який вийшов із ладу, та продовжують опрацювання даних. Кожному серверу кластера назначений, в найменшій мірі, один резервний сервер із числа серверів цього ж кластеру.
Шаблони корпоративних рішень. Шаблони сервісів
- Service Interface - Створює компонент, що забезпечує точку входу для взаємодії споживачів з сервісом, та представляє слабо деталізований інтерфейс, відділяючи реалізацію від бізнес-логіки.
- Service Gateway – Інкапсулює код, що реалізує клієнтську частину контракту, в окремий компонент Service Gateway, який виступає у ролі посередника для других сервісів, інкапсулюючи деталі підключення до джерела і виконуючи всі необхідні перетворення.
Шаблони корпоративних рішень. Шаблони веб-представлення
- Model-View-Controller - Цей шаблон розподіляє, основані на користувацькому вводі, дані предметної області представлення і дій у три окремих класи. Модель керує поведінкою та даними домену програми, відповідає на запити даних про стан (звичайно такі запити надходять від Представлення) та на команди внести зміни до стану (звичайно такі запити надходять від Контролера). Представлення керує відображенням інформації. Контролер інтерпретує вхідні дані користувача, отримані від миші та клавіатури, і інформує модель та/чи представлення про необхідність внесення відповідних змін.
- Page Controller - Цей шаблон дозволяє приймати вхідні дані запиту сторінки, викликати запитувані дії моделі та визначати відповідне представлення сторінки-результату. Відокремлює логіку диспетчеризації від коду представлення. Там, де це необхідно, створюйте загальний базовий клас для всіх контролерів сторінок, щоб уникнути дублювання коду і підвищити узгодженість и тестованість.
- Front Controller - Цей шаблон вирішує проблему децентралізації, що притаманна шаблону Page Controller, шляхом направлення всіх запитів через один контролер. Сам контролер звичайно реалізований у вигляді двох складових: обробника і ієрархії команд. Обробник отримує від веб-сервера HTTP-запити Post або Get та добуває із них відповідні параметри. Він використовує параметри запиту для вибору необхідної команди, а потім для передачі управління команді обробки. Самі команди також входять до складу контролера. Команди представляють певні дії, описані у шаблоні Command.
- Шаблони Intercepting Filter, Page Cache та Observer.
Шаблони інтеграції. Шари інтеграції
- Entity Aggregation - Вводить шар Entity Aggregation, що забезпечує логічне представлення сутностей на рівні підприємства з фізичними зв'язками, які підтримують доступ та оновлення відповідних їм екземплярів у серверних сховищах.
- Process Integration - Визначає модель бізнес-процесів, яка описує окремі етапи, складові складної бізнес-функції. Створює окремий компонент диспетчера процесів, який може одночасно інтерпретувати велику кількість екземплярів цієї моделі та взаємодіяти з існуючими програмами для виконання окремих етапів процесу.
- Portal Integration - Створює програму порталу, що відображає дані, отримані із декількох програм, в уніфікованому UI. Користувачі можуть здійснювати необхідні задачі на основі даних, відображених на цьому порталі.
Шаблони інтеграції. Топології інтеграції
- Message Broker - Розширює рішення по інтеграції. Брокер повідомлень – це фізичний компонент, що забезпечує зв'язок між програмами. Програми взаємодіють не одне з одним, а лише з посередником - брокером повідомлень. Програма відправляє повідомлення посереднику разом з логічним ім'ям отримувачів. Посередник знаходить програми, зареєстровані під даним логічним іменем, і передає їм повідомлення.
- Message Bus - Підключає всі програми через логічний компонент, який називають шиною повідомлень. Шина повідомлень забезпечує передачу повідомлень між програмами. Шина повідомлень включає три основні елементи: набір узгоджених з повідомленнями схем, набір загальних повідомлень з командою та спільно використовуваною інфраструктурою для відправки повідомлень шини отримувачем.
- Publish/Subscribe - Забезпечує класи для публікації подій, на які можуть підписуватися інші програми. Механізм Publish\Subscribe забезпечує відправку подій чи повідомлень всім читачам.
Шаблони інтеграції. Системні підключення
- Data Integration - Інтегрує програми у логічному шарі доступу до даних, відкриває дані однієї програми (джерело) для доступу із інших програм (ціль).
- Functional Integration - Інтегрирує програми у логічному бізнес-шарі, відкриваючи бізнес-функцію однієї програми (джерело) для доступу із інших програм (ціль).
- Service-Oriented Integration - Для логічної інтеграції програм у бізнес-шарі, дозволяє системам використовувати та надавати веб-сервіси XML. Використовуйте контракти Web Services Description Language (WSDL) для описання інтерфейсів цих систем. Забезпечте можливість взаємодії, узгодивши вашу реалізацію з сімейством специфікацій Web Services (WS-*).
- Presentation Integration - Забезпечує доступ до функцій програми через UI шляхом моделювання вводу даних користувачем та читання даних з екрану монітору.
Шаблони інтеграції. Додаткові шаблони інтеграції
- Pipes and Filters - Реалізує перетворення шляхом використання послідовності компонентів фільтрів, де кожный фільтр отримує вхідні повідомлення, виконує прості перетворення та передає перетворене повідомлення наступному компоненту. Проводить повідомлення через канали, що з'єднують входи та виходи фільтрів та буферизують зв'язок між фільтрами.
- Gateway - Виносить всю функціональність доступу до зовнішньої системи в один інтерфейс. Даний шаблон усуває необхідність розуміння принципів підключення до зовнішньої системи, спрощуючи, таким чином, процеси розробки та обслуговування, пов'язані з доступом до зовнішніх систем.
Шаблони безпеки Web-сервісів. Аутентифікація
- Brokered Authentication - Веб-сервіс перевіряє облікові дані, надані клієнтом, без необхідності прямої взаємодії між двома сторонами. Посередник аутентифікації, якому довіряють обидві сторони, передає маркер доступу клієнту. Після цього клієнт може надати Веб-сервісу облікові дані, включаючи і маркер доступу. Наступні три шаблони описують спеціальні реалізації шаблона Brokered Authentication.
- Brokered Authentication: Kerberos – Виконує аутентифікацію через посередника між клієнтами і Веб-серверами за допомогою протоколу Kerberos.
- Brokered Authentication: X509 PKI - Для перевірки облікових даних, що надаються програмою запитувачем, використовує аутентифікацію через посередника по сертифікатам X.509, що випущені центром сертифікації (Certificate Authority, CA) для інфраструктури відкритих ключів (Public Key Infrastructure, PKI).
- Brokered Authentication: STS - Використовує аутентифікацію через посередника з маркером доступу, що випущені сервісом маркерів доступу (Security Token Service, STS). І клієнт, і Веб-сервіс довіряють STS забезпечення маркерів доступу.
- Direct Authentication - Веб-сервіс виступає в ролі сервіса аутентифікації, перевіряючи облікові дані, отримані від клієнта. Облікові дані, що включають підтвердження володіння на основі спільних секретів, звіряються зі сховищем посвідчень.
Шаблони безпеки Web-сервісів. Авторизація і Керування винятковими ситуаціями
- Trusted Subsystem - Веб-сервіс для доступу до додаткових ресурсів діє як довірена підсистема. Він використовує власні облікові дані (замість даних користувача) для доступу до ресурсів.
- Exception Shielding - Очищає небезпечні виняткові ситуації, замінюючи їх винятковими ситуаціями з безпечною структурою. Повертає клієнту тільки очищенні виняткові ситуації чи виняткові ситуації із безпечною структурою. Виняткові ситуації із безпечною структурою не включають конфіденціальні дані в повідомлення про виняткову ситуацію та не містять докладні записи трасування стеку, оскільки це може призвести до розголошення конфіденційних даних про внутрішні операції Веб-сервісу.
Шаблони безпеки Web-сервісів. Шифрування повідомлень і виявлення повторів повідомлень
- Data Confidentiality - Використовує шифрування для захисту конфіденційних даних повідомлення. Незашифровані дані, котрі називають відкритим текстом (plaintext), перетворюються в зашифровані дані (ciphertext). Дані шифруються за допомогою алгоритму і ключа шифрування. По досягненню місця призначення зашифрований текст перетворюється знову у звичайний текст.
- Message Replay Detection - Кеширування ідентифікаторів вхідних повідомлень і використання виявлення повторів повідомлень дозволяє розпізнати та відключити повідомлення, для яких у кеші визначення повторів вже існує відповідний запис.
Шаблони безпеки Web-сервісів. Підпис повідомлень і перевірка повідомлень
- Data Origin Authentication - Використання аутентифікації джерела даних дозволяє отримувачу впевнитися, що повідомлення не були пошкоджені при передачі (цілісність даних) і що вони надходять від очікуваного відправника (аутентичність).
- Message Validator - Логіка перевірки повідомлень реалізує строго визначену політику, котра установлює обов'язкові частини повідомлення запиту для його успішної обробки сервісом. Перевірка корисного навантаження XML-повідомлень на відповідність XML-схемі (XSD) дозволяє впевнитися у правильності їх структури та відповідності очікуванням сервісу-обробника. Логіка перевірки також перевіряє повідомлення на відповідність певним критеріям: перевіряється розмір повідомлення, його вміст і використані набори символів. Повідомлення, що не відповідають заданим критеріям, відхиляються.
Шаблони безпеки Web-сервісів. Розгортання
Perimeter Service Router - Спроєктуйте проміжний Веб-сервіс, який буде виступати у ролі прикордонного сервісного маршрутизатора. Прикордонний сервісний маршрутизатор забезпечує зовнішній інтерфейс прикордонної мережі для внутрішніх Веб-сервісів. Він приймає повідомлення від зовнішніх програм і направляє їх на відповідний Веб-сервіс приватної мережі.
Після закінчення курсу ви будете вміти:
- Розбиратися в патернах проєктування складових додатків WPF та Silverlight
- Використовувати шаблони передачі даних, корпоративних рішень, інтеграції, безпеки
- Визначати, в якій ситуації варто використовувати той чи інший шаблон
- Покращувати якість коду та полегшувати його читання
Попередні вимоги
- Досвід роботи програмістом не менше 1 року
- Знання шаблонів проєктування GoF
Особливості курсу
- Практичні заняття і перевірка ДЗ
- Безкоштовний відеокурс
- Онлайн тестування і сертифікація
Викладачі курсу
- Олександр Пономаренко - .NET Developer
- Олександр Ульянов - .NET Developer
- Альберт Ташу - .NET Developer
- Антон Іваненко - .NET Developer. Тренер-консультант
- Армен Маілян - .NET Developer
- Владислав Гнатюк - .NET Developer
- Владислав Сіненко - .NET Developer
- Максим Ковальчук - .NET Developer. Тренер-консультант
- Сергій Даценко - .NET Developer. Тренер-консультант
- Олександр Шевчук - Експерт у галузі побудови архітектури інформаційних систем. бізнес-аналізу та управління IT проєктами
- Михайло Козин - .NET Developer. Тренер-консультант
- Юрій Боцман - .NET Developer. Тренер-консультант
- Володимир Нікітін - .NET Developer. Тренер-консультант
- Михайло Трофименко - .NET Developer. Тренер-консультант
- Владислав Черкіс - .NET Developer. Тренер-консультант
- Михайло Карпенко - .NET Team Leader
- Володимир Виноградов - Senior Software Engineer
- Data Engineer / Big Data
Курс алгоритми та структури даних призначений як для початківців програмістів, студентів, які вивчають комп'ютерні науки, так і для всіх, хто працює з обчислювальною технікою і бажає зрозуміти, як почати вирішувати складні завдання з високою ефективністю.
Програма курсу
Введення в структури і алгоритми даних. Зв'язні списки
- Поняття алгоритму і структури даних
- Поняття тимчасової і асимптотичної складності алгоритму
- Двозв'язні списки
- Приклади реалізації зв'язних списків на C#
- Використання О-нотації
- Огляд основних структур даних
- Огляд однозв'язних списків
ArrayList
- Реалізація динамічного масиву на C#
- Огляд класу ArrayList
- Додавання елементів в динамічний масив
- Політика зростання динамічного масиву
- Видалення елементів з масиву
- Індексація елементів
Stack i Queue
- Огляд структури даних - стек
- Реалізація стека на основі двохзв'язного списку на C#
- Методи Push, Pop, Peek, Count
- Огляд структури даних - черга
- Реалізація методів Enqueue, Dequeue, Peek, Count
- Огляд структури даних двозв'язних черг
- Реалізації двохзв'язної черги на основі списків
- Реалізація стека на основі двохзв'язної черги
- Реалізація двохзв'язної черги на основі масиву
Дерева
- Структура даних - дерево
- Реалізація дерева на основі масиву
- Реалізація бінарного дерева пошуку на C#
- Додавання, видалення і пошук вузлів дерева
- Прямий, зворотний і симетричний обхід дерева
Множини
- Структура даних - множина
- Реалізація класу Set
- Додавання та видалення елементів і пошук елементів множини
- Об'єднання, перетин, різниця, симетрична різниця двох множин
Алгоритми сортування
- Сортування бульбашкою
- Сортування вставками
- Сортування вибором
- Сортування злиттям
- Сортування Шелла
- Швидке сортування
Хеш-таблиці
- Опис структури даних - хеш-таблиці
- Хеш-функція
- Колізії хеш - функції
- Реалізація хеш-таблиці на C#
В-дерева
- Опис В-дерева
- Реалізація В-дерева на C#
- Пошук, додавання і видалення записів у В-дереві
- Час виконання операцій В-деревом
Завдання
- Завдання комівояжера
- Завдання Ханойські вежі
- Завдання тріангуляції
Завдання практикум
На занятті розглядаються наступні задачі: Ханойські вежі, завдання комівояжера, завдання про рюкзак.
Після проходження курсу ви будете вміти:
- Розбиратися у розповсюджених алгоритмах і структурах даних
- Комбінувати прості конструкції мови для побудови складних алгоритмів
- Давати оцінку складності різним алгоритмам
- Знати сильні та слабкі сторони тих чи інших структур даних
- Працювати зі складною структурою даних - графом, а також з алгоритмами, котрі реалізують принципи графів
- Реалізовувати складні та прості структури даних: бінарні дерева пошуку, хеш-таблиці, стеки, черги, списки, динамічні масиви, множини
- Створювати алгоритми сортування, пошуку елементу в масиві, обхід двійкового дерева та видалення з нього вузлів тощо
Особливості курсу
- Практичні заняття і перевірка ДЗ
- Безкоштовний відеокурс
- Онлайн тестування і сертифікація
Викладачі курсу
- Олександр Шевчук - Експерт у галузі побудови архітектури інормаційних систем, бізнес-аналізу та управління IT проєктами
- Олександр Пономаренко - .NET Developer
- Ольга Хорошко - Backend Developer
- VueJS
- Frontend
Курс Vue.js складається з 6 уроків, на яких учні ознайомляться з новою бібліотекою JavaScript - Vue.
Програма курсу
Введення в бібліотеку Vue.js
Ознайомлення з бібліотекою Vue.js, історією створення, методи підключення і визначення на сторінці, а також знайомство з екземпляром об'єкта Vue(). Будуть розглянуті основні елементи - прив'язки і шаблони, їх мета і використання. Розбір основних прив'язок на сторінку, а також життєвий цикл примірника Vue.
Робота з формами
Ознайомлення з бібліотекою Vue.js, історією створення, методи підключення і визначення на сторінці, а також знайомство з екземпляром об'єкта Vue (). Будуть розглянуті основні елементи - прив'язки і шаблони, їх мета і використання. Розбір основних прив'язок на сторінку, а також життєвий цикл примірника Vue.
Умовне відображення даних
Ознайомлення з директивами умовного відображення об'єктів і масивів. Будуть розглянуті основні методи роботи з висновком масивів в призначений для користувача інтерфейс. Також в уроці дається визначення обчислюваним властивостям об'єкта Vue, фільтрів і спостерігачам.
Компоненти Vue.js
Вивчення компонентів, як частини примірника Vue, методами їх підключення. На уроці будуть розглянуті основні елементи компонентів, його параметри і поведінку. Використання компонентів в роботі з одними подіями, використання слотів у вкладених шаблонах, а також області видимості компонентів на сторінці
Анімація і переходи
Вивчення роботи анімації і переходів у Vue, компонента transition, основних класів появи і зникнення елементів Virtual DOM. Застосування групового компонента для списків. Буде показаний приклад Velocity бібліотеки для поліпшення режиму анімації. Розглянуто тему власних компонентів і застосування їх на сторінці.
Маршрутизація у Vue.js
Ознайомлення з основними відмінностями SPA і серверним рендерингом. Розібратися з основними програмами для роботи програми на локальному сервері. Розібрати поняття маршрутизації і розглянути компонент vue-router. Ознайомитися з видами маршрутів, а також з основними параметрами.
Особливості курсу
- Практичні заняття і перевірка ДЗ
- Безкоштовний відеокурс
- Онлайн тестування і сертифікація
- Frontend
Bootstrap 5 - це HTML, CSS, JavaScript фреймворк для розробки кросбраузерності веб-орієнтованих інтерфейсів. Bootstrap представляє набір інструментів від Twitter, створений для полегшення розробки web-додатків і сайтів, використовує CSS і HTML для друкарні, форм, кнопок, таблиць, сіток, навігації і т.д., а також додаткові розширення JavaScript, що спрощують роботу веб-розробника.
Програма курсу
Знайомство з Bootstrap 5. Типографіка
- Знайомство з фреймворком
- Способи підключення фреймворка
- Знайомство з Grid-System
- Заголовки і скорочення
- Блокові текстові елементи
- Цитати і вирівнювання
- Списки і таблиці
- Зображення і фігури
Компоненти Bootstrap 5
- Оповіщення
- Значок
- Хлібні крихти
- Картка
- Кнопки, групи кнопок
- Випадаючі списки
- Пагінація форми
- Інпут групи
- Навігація, навбари
- Підказка
- Прогрес бар
- Скролінг
- Адаптивне відео
JavaScript Bootstrap 5
- Перевірка форм
- Карусель
- Акордеон
- Списки груп
- Модальні вікна
Утиліти Bootstrap 5. Службові класи
- Межа
- Очищення
- Колір
- Відображення елементів
- Flexbox
- Розміри, позиціонування
- Відстань
- Форматування тексту
- Вертикальне вирівнювання
Особливості курсу
- Практичні заняття і перевірка ДЗ
- Безкоштовний відеокурс
- Онлайн тестування і сертифікація
Викладачі курсу
- Сергій Патьоха - Senior Software Engineer at BIScience
- Олександр Гончаренко - Web Frontend Developer
- Анна Павлюк - Web Frontend Developer
- Олена Хижняк - Web Frontend Developer
- Поліна Соколенко - Web Frontend Developer
- Дмитро Охріменко - Експерт з побудови розподілених та веб-орієнтованих додатків
- Анастасія Ткаченко - Web Frontend Developer
- Філіп Севене - Web Frontend Developer
- Віталій Мазяр - Web Frontend Developer
- Оксана Дмитрієва - Web Frontend Developer
- Ростислав Сілівейстр - Web Frontend Developer
- Олександр Петрик - FullStack Developer, CEO at Dinamicka Development
- Денис Ковтун - Web Frontend Developer
- JavaScript
Курс орієнтований на комплексне і глибоке вивчення можливостей мови програмування "JavaScript". Він буде цікавий тим програмістам, які вже мають досвід роботи з мовою JavaScript.
Програма курсу
ECMAScript модулі
- Що таке модуль та використання модулів у JavaScript
- ECMAScript модулі
- Динамічні та статичні системи модулів
- import та export
Async Await
- Створення асинхронних функцій. Оператор async
- Очікування завершення Promise через використання оператора await
- Порівняння коду з Promise.then та async/await
- Обробка винятків у коді, де використовується async/await
Symbols
- Що таке Symbol
- Різниця між локальним та глобальним символами
- Приклади використання символів для створення користувацької логіки
- @@toStringTag
- @@species
- @@isContentSpreadable
- @@toPrimitive
Функції-генератори
- Протоколи iterable та iterator
- @@iterator
- Функції-генератори та yield
- Асинхронні генератори
Функціональне програмування
- Що таке функціональне програмування
- Функції вищого порядку
- Чисті функції
- Використання функцій як даних
- Композиція функцій
- Карування
Observables
- Потоки даних
- Створення користувацьких подій
- Observable
- Реалізація функції map для свого Observable
- Реалізація функції filter
- Реалізація функції reduce
- Реалізація функції skip
- Приклади використання реалізованих функцій
Особливості курсу
- Практичні заняття і перевірка ДЗ
- Безкоштовний відеокурс
- Онлайн тестування і сертифікація
Викладачі курсу
Дмитро Охріменко - Експерт з побудови розподілених та веб-орієнтованих додатків
Подать заявку- QA Automation / QA Manual
Курс "QA. Технічні знання" розрахований на тих, хто взагалі не займався програмуванням чи тестуванням або має початкові знання, які хоче впорядкувати та поглибити. Протягом 17 логічно взаємопов'язаних уроків учні отримають основні знання про роботу комп'ютерних мереж та технологій у web-розробці. А вивчивши сучасні підходи до тестування веб-застосунків та основи автоматизації, зможуть самостійно та результативно забезпечувати якість на невеликих проєктах.
Програма курсу
Web Testing
- Client-server model
- HTTP & HTTPS
- Що тестувати?
- Інструменти Web-тестування
- Практика
Mobile Testing
- Навіщо тестувати мобільні пристрої?
- Особливості мобільних пристроїв
- Особливості мобільного тестування
- Тест-стратегія
Базові поняття мережевих технологій
- URL, URI
- HTTP request, HTTP response
- HTTP methods
- Cache, Cookie
- IP, DNS
- IPv4, IPv6
Інструменти повсякденної роботи
- Chrome Developer Tools
- Elements Panel
- Тестування сайтів у різних розгортках
- Console Panel
- Sources Panel
- Network Panel
- Application Panel
- Lighthouse Panel
- Fiddler
- Mocks та Stubs
Автоматизація тестування
- Що таке автоматизація тестування
- Тестова піраміда
- Області високої ефективності автоматизації
- Особливості процесу автоматизації
- Взаємодія Manual та Automation QAs
Основи HTML
- Поняття тега і атрибута
- Структура HTML-сторінки
- Розуміння блочних і рядкових тегів
- Теги фізичної і логічної розмітки
- Перша HTML-сторінка
- Валідація HTML-сторінок
- Службові символи
Основи HTML та CSS
- HTML
- Розгляд тега img та його атрибутів
- Тег table
- Мітки ul, ol, dl
- CSS
- Для чого потрібні таблиці стилів. Що таке CSS?
- Типи стилів
- Переваги використання стилів
- Семантика CSS
- Прості селектори
- Одиниці вимірювання у CSS
Codeless Automation
- Визначення локаторів
- XPath and CSS
- Oci XPath
- Комбінатори CSS
- Особливості Record & Play автоматизації
- Інструменти автоматизації
- Katalon Studio/Selenium IDE
Codeless Automation Practice
- Визначення локаторів
- XPath and CSS
- Осі XPath
- Комбінатори CSS
- Особливості Record & Play автоматизації
- Інструменти автоматизації
- Katalon Studio / Selenium IDE
Основи Git
- Архітектури систем контролю версій
- Створення репозиторію
- Стан файлів
- Основні команди
- Перший коміт
- Практика
Основи Git. Частина 2
- Робота з файлами. Стан Файлів
- Віддалений репозиторій
- Розгалуження та злиття
- GitHub Flow
- Практика
Тестування API
- Основна теорія
- GET, POST, PUT, DELETE, etc.
- REST & SOAP
- JSON & XML
- Корисна тест-документація для API
- Swagger
- Postman
- Приклад базових функцій (одиночний запит, колекції, глобальні змінні та змінні оточення, JS перевірки)
- SoapUI
- Приклад базових функцій (одиночний запит, тест-кейси)
BDD
- BDD - що це таке, як утворився, чому популярний
- BDD - тестування та BDD - проєкт
- Gherkin сценарії
- Інструменти для BDD тестування в Java/C#/JS
- Звіти про тестування BDD інструментів
Архітектура Web Application
- Монолітна архітектура
- Мікросервісна архітектура
- Підходи до тестування
- Складнощі тестування мікросервісів
- Складнощі тестування монолітних застосунків.
CI/CD/CD
- Основні принципи
- Основи CI/CD/CD
- Поняття Continuous testing
- Структура оточень проєкту (Dev -> Test -> UAT -> Prod)
- Quality Gates
- У CD процесі
Введення в Cloud
- Що таке Cloud computing
- Переваги
- Cloud-сервісні моделі (Iaas, Paas, Saas)
- Основні вендери
- Моделі організації Cloud-сервісів (Private, Hybrid, Public)
Командний проєкт
- Робота в команді
- Аналіз та тестування вимог
- Написання баг-репортів на вимоги
- Написання чек-листа
- Написання тест-плану
- Створення тестових наборів
- Створення тестових випадків
- Створення матриці покриття
- Проведення тестування
- Написання баг-репортів
- Підтримка всіх раніше створених документів
- Аналіз отриманих результатів
- Написання Test Summary Report
Після закінчення курсу ви будете вміти:
- Client-server model
- HTTP & HTTPS
- Chrome Developer Tools та Fiddler
- HTML та CSS
- XPath and CSS
- Katalon Studio/Selenium IDE
- Git
- Swagger
- Postman
- SoapUI
- TDD, BDD
- Монолітна архітектура та мікросервісна архітектура
- CI/CD/CD
- Cloud computing
Особливості курсу
- Практичні заняття і перевірка ДЗ
- Безкоштовний відеокурс
- Онлайн тестування і сертифікація
Викладачі курсу
Олександр Бреславець - Lead Test Automation Engineer at EPAM
Подать заявку- Node.js
Курс "Node.js" буде корисний всім, хто хоче навчитись створювати додатки за допомогою Node.js. Для проходження даного курсу необхідно володіти мовою програмування JavaScript на хорошому рівні.
Програма курсу
Знайомство з Node.js
- Що таке Node.js?
- Встановлення Node.js
- Знайомство з NVM
- Перший додаток HTTP-сервер
- Поняття модуля в Node.js
- Стандарти CammonJS та ECMAScript
- Створення власного модуля
- Підключення модулів
Стандартні модулі та NPM
- Знайомство з стандартними модулями Node.js
- Знайомство з NPM
- Використання NPM модулів: пошук, встановлення, використання
- Створення модуля та публікація в NPM
Асинхронність в Node.js
- Асинхронна модель Node.js
- Що таке EventLoop?
- Що таке EventEmitter?
- Додавання та видалення модій
- Події користувача
Робота з сервером
- Модуль HTTP
- Node.js tools: nodemon, dotenv
- Знайомство з фреймворком Express.js
- Маршрутизація в додатку
- Поняття Middleware
- Обробка помилок
Знайомство з Express.js
- Знайомство з фреймворком Express.js
- Маршрутизація в додатку
- Поняття Middleware
- Обробка помилок
Авторизація та аутентифікація
- Робота з cookies та сесіями
- Знайомство з JWT
- Приклад авторизації на основі JWT
- Бібліотека passport.js
Робота з базою даних
- Поняття драйверу бази даних, встановлення та підключення
- Знайомство з ORM
- Бібліотека sequilize
- Інтеграція додатку з базою даних
Багатозадачність та багато поточність в Node.js
- Робота з процесами
- Робота з потоками
REST API
- Визначення REST API та його принципи
- Створення REST API додатку (MVC)
- Використання CORS
- Структура проєкту
- Створення додатку "ToDo List"
- Документування коду
- SSR (Робота зі статичними файлами та шаблонами)
Streams
- Buffer
- Що таке Stream?
- Типи stream-ів та робота з ними
- Використання Stream-ів на практиці
WebSockets
- Знайомство з технологією WebSockets
- Бібліотека socket.io
- Створення Real-time додатку
Тестування додатків
- Що таке тестування?
- Які тести ми пишемо та для чого?
- Знайомство з фреймворком Jest
Особливості курсу
- Практичні заняття і перевірка ДЗ
- Безкоштовний відеокурс
- Онлайн тестування і сертифікація
Викладачі курсу
- Дмитро Охріменко - Експерт з побудови розподілених та веб-орієнтованих додатків
- Олександр Виноградов - Software Developer
- QA Automation / QA Manual
Курс "QA. Мануальне тестування" розрахований на тих, хто взагалі не займався програмуванням/тестуванням або має початкові знання, які хоче впорядкувати та поглибити. Протягом дванадцяти логічно взаємопов'язаних уроків учні вивчать процес тестування застосунків, ефективні сучасні підходи та інструменти. Навчаться створювати всі необхідні документи та на практиці закріплять свої знання.
Програма курсу
Бізнес-аналіз та аналіз вимог
- Процес тестування. SDLS та STLS
- Що таке "вимога"
- Важливість вимог
- Як виявляти вимоги
- Рівні та типи вимог
- Характеристики якісних вимог
- Методи тестування вимог
Усі тест-документи
- Стратегія тестування
- Тест-план
- Тест-кейс на вибір
- Чек-лист
- Таблиця простежуваності покриття тестами (RTM)
- Тест-звіт
- Звіт про дефект (Bug report)
Техніки тест-дизайну. Частина 1
- Black/Gray/White box
- Класи еквівалентності (Equivalence Class)
- Граничні значення (Boundary Value)
- Таблиці рішень (Decision Tables)
- Тестування операторів (Statement testing)
- Тестування умов (Condition testing)
- Тестування рішень/гілок (Decision/branch testing)
- Як писати гарні ТК
- Практика написання простих документів
Техніки тест-дизайну. Частина 2
- Позитивні та негативні тести
- Black/Gray/White box
- Попарне тестування (Pairwise testing)
- Тестування переходів станів (State transition testing)
- Користувацькі сценарії (Use case testing)
- Передбачення помилки (Error guessing)
- Дослідницьке тестування (Exploratory testing)
- Інтуїтивне тестування (Ad-hoc testing)
- Як писати гарні ТК
- Практика написання простих документів
Види та рівні тестування
- Види тестування
- Рівні тестування
Написання тестової документації
- Чек-лист
- Тестовий випадок
- Тестові дані
- Тестовий набір
- Тестовий сценарій
- Ризик-лог
Регресійне тестування
- Що таке регресія?
- Мета регресійного тестування
- Підходи у регресійному тестуванні
- Коли проводити регресійне тестування?
- Автоматизувати чи не автоматизувати
Управління дефектами. Практика у JIRA
- Що таке баг? Причини виникнення дефектів
- Основні атрибути баг-репорту
- Життєвий цикл баг-репорту
- Що таке severity та priority
- Визначення дефекту. Навіщо і де описувати Bug report
- Аналіз, критерії, написання звітів про помилки
JIRA
- Що таке Workflow
- Перехід задачі з одного стану до іншого
- Типи задач у Jira
- Створення задач
- Налаштування зв'язування задач
- Умови, валідатори, тригери та постфункції
- Jira Zephyr
Тестування в Agile
- Що таке Agile Testing, основні принципи
- Життєвий цикл Agile Testing
- Стадії Agile Testing
- Agile Testing - квадранти
- Проблеми та особливості тестування в Agile
- Роль автоматизації тестування в Agile
Test Planning та Estimations
- Планування
- Основи тест-планування
- Тест-план та його роль у проєкті
- Основні складові тест-плану
- Стратегія тестування
- Критерії початку та закінчення тестування
- Ризики тестування
- Оцінка обсягів тестування
Test Reporting та Test Metrics
- Звіти з тестування (Test Reporting)
- Види, призначення, секції, відповідальні люди
- Метрики тестування (Test Metrics)
- Метрики в автоматизації тестування (Automation State Metrics)
Після закінчення курсу ви будете вміти:
- Усі документи в тестуванні
- Техніки тест-дизайну
- Види тестування. Рівні тестування
- Управління дефектами
- Робота в JIRA
- Планування та оцінювання тестування
- Звіти про тестування та метрики
Особливості курсу
- Практичні заняття і перевірка ДЗ
- Безкоштовний відеокурс
- Онлайн тестування і сертифікація
Викладачі курсу
Олександр Бреславець - Lead Test Automation Engineer at EPAM
Подать заявку- QA Automation / QA Manual
- SQL / DBA
Курс "QA. Бази даних та SQL" розрахований на тих, хто взагалі не займався програмуванням, роботою з БД або має початкові знання, які хоче впорядкувати та поглибити. Протягом п'яти логічно взаємопов'язаних уроків учні опанують основи роботи з БД, матимуть знання про їхні види, основні групи команд та можливості використання БД в якості сховища інформації. Також студенти отримають практичні навички використання БД.
Програма курсу
Що таке база даних
- Види баз даних
- Реляційна БД
- Система управління базами даних (СУБД)
- Мова SQL
- SQL-стандарти
- Робота з базами даних у SQL Server
- Типи даних полів
- Групи операторів (DDL, DML, DCL, TCL)
Основи DDL. Агрегуючі функції
- Робота з таблицями
- Агрегуючі функції
Основи SQL
- Data Manipulation Language (DML)
- Data Query Language
- JOIN's
NoSQL. MongoDB
- SQL vs NoSQL
- Що таке MongoDB
- JSON
- Як розпочати роботу з MongoDB
- CRUD
Практика SQL
Розв'язання SQL-задач у командах
Після завершення курсу ви будете вміти:
- SQL
- NoSQL
- MongoDB
Особливості курсу
- Практичні заняття і перевірка ДЗ
- Безкоштовний відеокурс
- Онлайн тестування і сертифікація
Викладачі курсу
Олександр Бреславець - Lead Test Engineer at EPAM
Подать заявку- Java
- WEB Developer / Webmaster
В даному курсі Web-services студенти розглянуть два основні класи веб-служб: REST-compliant і Arbitrary. Під час курсу Ви засвоїте не тільки поточні архітектури веб-служб і технологій, за допомогою яких веб-служби можуть бути реалізовані, але і нові архітектури, включаючи нові Java API і специфікації.
Програма курсу
Software setup, web services, XML
- Інсталяція середовища розробки, конфігурація Tomcat
- Введення в веб-сервіси
- SOA і веб-сервіси
- Що таке XML?
- Що таке XSD?
- Namespaces
- XML-схема руки вгору
- Створення простих типів
- Управління числом елементів
SOAP Web-services concepts, design and implementation
- SOAP огляд веб-сервісів
- SOAP веб-сервіси, переваги та недоліки
- Коли використовувати SOAP веб-сервіси?
- SOAP
- Файл WSDL
- WSDL, зв'язування стилів
- SOAP веб-сервіси, підходи до проєктування
JAX-WS and JAXB, Apache CXF
- JAX-WS
- JAXB введення
- Створення Java класів з XML-схемами
- Marchalling i Unmarshalling
- Apache CXF
- Створення веб-сервіс проєкту CXF з нуля
- CXF структура проєкту Maven веб додатків і компонентів
REST Web Services Concepts. RESTFul design and implementation
- Огляд REST
- Коли використовувати RESTFul веб-сервіси?
- JAX-RS
- Кроки для реалізації REST
- Налаштування підтримки JSON
- REST Sub Resourse Mapping
- REST, обробка помилок
- JAX-RS Client API, JAX-RS Injection
Після завершення курсу ви будете вміти:
- Визначати семантичні обмеження на XML-документи (розробляти свої мови розмітки)
- Виконувати перетворення XML - Java об'єкт та навпаки
- Обирати засоби опису взаємодій та структури сервісів в SOA
- Описувати контракти веб-сервісів
- Створювати SOAP веб-сервіси відповідно до специфікації JAX-WS, а також клієнтів до них
- Створювати RESTful веб-сервіси відповідно до специфікації JAX-RS, а також клієнтів до них
- Виконувати конфігурування контейнерів сервлетів для публікації SOAP та RESTful веб-сервісів
Попередні вимоги
- Впевнені знання Java
- Java EE IDE для веб-розробників
- Контейнер сервлетів Apache Tomcat
Особливості курсу
- Практичні заняття і перевірка ДЗ
- Безкоштовний відеокурс
- Онлайн тестування і сертифікація
Викладачі курсу
- Андрій Бондаренко - Java Developer
- Андрій Фок - Java Developer. Тренер-консультант
- Євген Кондаков - Java Developer. Тренер-консультант
- Іван Демидко - Java Developer. Тренер-консультант
- Євген Дайнека - Java Software Engineer
- Євген Тихонов - Java Developer
- Юрій Царенко - Java Developer. Тренер-консультант
- Ігор Войтов - Java Developer. Тренер-консультант
- Олег Сотніченко - Java Developer. Тренер-консультант
- Вадим Кожевніков - Java Developer and Trainer at CyberBionic
- Дмитро Красний - Тренер-консультант напрямку Java Developer
- Владислав Донець - Middle Java Developer at SoftServe
- Java
- Backend
В ході даного курсу ми розглянемо основні модулі Spring, навчимося налаштовувати фреймворк і використовувати різні типи анотацій. Ми познайомимося з різними способами написання REST додатків, використанням MVC моделей. Ознайомимося з кешуванням, безпекою, а також Spring Boot. За підсумками цього курсу, ми зможемо писати повноцінні REST додатки з БД самостійно.
Програма курсу
Вступ до Spring Framework
- Необхідні знання
- Переваги Spring
- Модулі Spring
- IoC & DI
- Управління залежностями (приклад)
- SOLID
- POJO
- Bean scope (зона видимості для бінів)
- Додаткові бібліотеки
- Приклади коду
Впровадження залежностей та IoC контейнер
- Inversion of Control & Dependency Injection
- IoC контейнер
- Використання контейнеру
- IoC & DI
- Атрибути біну
- Іменування бінів
- Впровадження залежностей
- Ледача ініціалізація
- Етапи створення біну
- Анотації для конфігурації
Spring MVC
- MVC
- Dispatcher servlet
- MVC (докладніше)
- ViewResolver
- HandlerMapping
- WebApplicationContext
- Анотації
Spring Data
- Переваги Spring Data
- Spring Data repository
- Конфігурація Spring Data
- Ключові слова для створення методів
- Анотації
Spring Testing
- Про тестування
- Різновиди тестування
- Тести Unit
- Тести Integration
- Популярні фреймворки для тестування
- Конфігурація та залежності
- Анотації
- Валідація поля
AOP
- Що таке АОП
- Основні визначення
- Як визначаються аспекти
- Конфігурація та залежності
- Анотації
RESTFul webservices
- Що таке REST
- HTTP-методи
- URL
- RESTFul webservices у Spring
- HTTP message converters
- Залежності
- Анотації
Security
- Авторизація та аутентифікація
- Voters, Filters, Chains
- Безпека на рівні методів
- Конфігурація і залежності
- Анотації
Hibernate Crud
- Робота з базами даних за допомогою Hibernate
- Додавання, видалення тощо під час роботи з базами даних
- Залежності
- Анотації
Boot
- Що таке Spring Boot
- Переваги Spring Boot
- Анотації
Після завершення курсу ви будете вміти:
- Створювати BackEnd для web-додатків
- Створювати RESTfull web-сервіси
- Використовувати різні RDBMS у зв'язці зі Spring
- Створювати додатки, покриті автоматичними тестами
Попередні вимоги
- JavaCore (знання синтаксису та структур даних Java)
- Загальне розуміння ООП
- Розуміння реляційних баз даних (MySQL)
Особливості курсу
- Практичні заняття і перевірка ДЗ
- Безкоштовний відеокурс
- Онлайн тестування і сертифікація
Викладачі курсу
- Андрій Бондаренко - Java Developer
- Андрій Фок - Java Developer. Тренер-консультант
- Євген Кондаков - Java Developer. Тренер-консультант
- Іван Демидко - Java Developer. Тренер-консультант
- Олександр Корж - Java Developer. Тренер-консультант
- Євген Дайнека - Java Software Developer
- Євген Тихонов - Java Developer
- Юрій Царенко - Java Developer. Тренер-консультант
- Ігор Войтов - Java Developer. Тренер-консультант
- Олег Сотніченко - Java Developer. Тренер-консультант
- Вадим Кожевніков - Java Developer and Trainer at CyberBionic
- Дмитро Красний - Тренер-консультант напрямку Java Developer
- Владислав Донець - Middle Java Developer at SoftServe
- TypeScript
- Frontend
В цьому курсі ви дізнаєтеся все, що необхідно для початку використання цієї мови програмування. Протягом 5 уроків, ви навчитеся користуватися інструментами для розробки і компіляції коду і освоїте синтаксичні конструкції, які є в TypeScript.
Програма курсу
Введення. Змінні та функції
- Навіщо використовувати TypeScript
- Синтаксис TypeScript
- Інструменти для роботи
- Налаштування фреймворками
- Створення HelloWorld додатки
- Типи даних в TypeScript
- Статична і динамічна типізація
- Ambient Declarations
- Об'єкти
- Функції, Arrow function
- Статичні типи
Класи і інтерфейси
- Використання модифікаторів доступу
- Accessors
- Спадкування і використання ключового слова super
- Робота з абстрактними класами
- Використання інтерфейсів
Generics
- Методи для роботи з масивами
- Визначення узагальненого типу даних (Generic)
- Generic і інтерфейси
- Приклад створення словника
- Обмеження при використанні generic
- Шаблон Iterator
- Використання Symbo
- Використання генераторів
Модулі і простори імен
- Використання просторів імен в TypeScript
- Визначення модуля
- Створення модулів
- Використання завантажувачів модулів
- Основи застосування Webpack
Практика
Даний урок присвячений практичному закріпленню матеріалу даного курсу
Особливості курсу
- Практичні заняття і перевірка ДЗ
- Безкоштовний відеокурс
- Онлайн тестування і сертифікація
Викладачі курсу
- Олена Хижняк - Web Frontend Developer
- Віталій Мазяр - Web Frontend Developer
- Оксана Дмитрієва - Web Frontend Developer
- Денис Ковтун - Web Frontend Developer
- Java
Курс "Java Professional" орієнтований на комплексне і глибоке вивчення можливостей мови Java. Він буде цікавий тим програмістам, які вже мають досвід роботи з мовою Java і хочуть познайомитися з його додатковими можливостями, а також особливостями ефективного використання мови.
Програма курсу
Iterator & Comparator
На уроці розглядається ієрархія Java Collection Framework - бібліотеки зумовлених колекцій в Java. Розглядаються основні поняття, такі як Ітератор і Компаратор, класи колекцій (Collection) та карти (Map).
Collection Framework
На уроці розглядається застосування основних реалізацій колекцій - Стек, Черга, Множинність, Список, Карта на прикладі примірників класів Stack, Queue, Set, ArrayList, LinkedList, Map.
IO & Strings
На уроці розглядається робота з потоками введення-виведення в Java, робота з файловою системою користувача, читання і запис файлів, валідація та обробка строкових виразів.
Regular expressions & Data API
На уроці розглядається робота з рядками, принципи побудови та використання регулярних виразів, робота з датою (Date API).
Reflection
На уроці розглядається механізм роботи рефлексії, який дозволяє модифікувати програму в процесі її виконання.
Annotations
На уроці розглядається робота з анотаціями, створення своїх анотацій.
Serialization XML & JSON
На уроці розглядаються такі поняття як, серіалізація і маршалінг, механізми передачі об'єктів з однієї програми в іншу. Знайомство з правилами розмітки JSON i XML.
Thread & Runnable. Problems with Threads
На уроці розглядається механізм багатопоточності і правила побудови багатопоточних додатків. Управління потоками, клас Thread і інтерфейс Runnable, планування і пріорітети виконання, поняття deadlock.
Problems with Threads
На уроці розглядаються основні проблеми побудови багатопотокових додатків.
Lambda expressions
На уроці розглядається парадигма функціонального програмування і її реалізація в Java 8. Функції, лямбда-виразу, функціональні інтерфейси.
Після завершення курсу ви будете вміти:
- Працювати з компонентами Java Collection Framework: Стек, Черга, Множани, Список, Карта
- Взаємодіяти з потоками вводу-виводу, файловою системою користувача, обробляти строкові вирази
- Використовувати регулярні вирази, працювати з датою (Date API)
- Працювати з рефлексією, анотаціями
- Використовувати можливості серіалізації/десеріалізації та маршалінгу, а також правила розмітки JSON та XML
- Застосовувати багатопоточність та працювати з потоками
- Розбиратися в концепції функціонального програмування, функціях, лямбда-виразах та функціональних інтерфейсах
Попередні вимоги
- Впевнені знання синтаксису Java
- Впевнені знання ООП
- Впевнені знання дженериків
Особливості курсу
- Практичні заняття і перевірка ДЗ
- Безкоштовний відеокурс
- Онлайн тестування і сертифікація
Викладачі курсу
- Андрій Бондаренко - Java Developer
- Андрій Фок - Java Developer. Тренер-консультант
- Євген Кондаков - Java Developer. Тренер-консультант
- Іван Демидко - Java Developer. Тренер-консультант
- Олександр Корж - Java Developer. Тренер-консультант
- Євген Дайнека - Java Software Engineer
- Євген Тихонов - Java Developer
- Юрій Царенко - Java Developer. Тренер-консультант
- Ігор Войтов - Java Developer. Тренер-консультант
- Олег Сотніченко - Java Developer. Тренер-консультант
- Вадим Кожевніков - Java Developer and Trainer at CyberBionic
- Дмитро Красний - Тренер-консультант напрямку Java Developer
- Владислав Донець - Middle Java Developer at SoftServe






