- 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
- C# / .NET
Курс Entity Framework Core складається з 5-ти логічно взаємопов'язаних уроків, на яких студенти знайомляться з технологією доступу до даних. В курсі розглядаються основні моменти роботи з технологією, такі як створення об'єктної моделі на основі бази даних, створення БД на основі об'єктної моделі, також такі операції як додавання, отримання, оновлення та видалення даних, налаштування конфігурації для з'єднання з БД. Розглядається реалізація об'єктно-реляційного зіставлення, його конфігурація.
Програма курсу
Вступ до Entity Framework Core
- Розгляд ORM
- Архітектура Entity Framework Core
- Створення моделей
- Database First
- Code First
Fluent API & Data Anotations, міграції
- Fluent API і анотації даних
- Конфігурація моделей
- Робота з EF Core CLI
- Міграції
Відношення між моделями, успадкування
- Зв'язки
- Завантаження зв'язаних даних
- Один до одного
- Відношення один до багатьох
- Багато до багатьох
- Підходи TPH, TPT i TPC
Запити LINQ to Entities
- Введення до LINQ to Entities
- Операції LINQ to Entities
- Виконання запиту. IQueryable
SQL в Entity Framework Core
- Виконання SQL-запитів
- Функції користувача
- Збережені процедури
Після завершення курсу ви будете вміти:
- Розбиратися в технології Entity Framework Core, її перевагах та недоліках
- Працювати з моделями даних, проводити їх конфігурацію
- Створювати базу даних на основі моделі та модель на основі існуючої бази даних
- Виконувати основні операції над даними
- Застосовувати технологію LINQ to Entities для більш зручної взаємодії з базою даних
- Застосовувати SQL для створення складних запитів без втрат продуктивності
Попередні вимоги
- Розуміння ООП і знання синтаксису C#
- Володіння основними бібліотеками .NET Framework
- Досвід програмування на C#
- Знання мови T-SQL
- Досвід роботи з Visual Studio
Особливості курсу
- Практичні заняття і перевірка ДЗ
- Безкоштовний відеокурс
- Онлайн тестування і сертифікація
Викладачі курсу
Ольга Хорошко - Backend Developer at devspiration
Подати заявку- Angular
- Frontend
Цей курс є частиною спеціальності Frontend розробник. Він допоможе вам вивчити основи платформи Angular.
Програма курсу
Введення до Angular
- Знайомство з фреймворком Angular
- Огляд необхідних інструментів для початку розроблення
- Створення додатку, огляд файлів та папок створеного проєкту
- Знайомство з синтаксисом та структурою коду на Angular
- Створення компонентів і їх реєстрація через CLI
- Компонентний підхід задання стилів
- Компоненти та модулі в додатку, а також те, як вони описані шаблоном Декоратор
- Додавання картинок/іконок до проєкту
Події та датабайдинг
- Основи маршрутизації і основні принципи виведення даних на сторінку
- Створення простого проєкту з маршрутизацією
- Задання різної логіки виведення даних
- Стилізація розмітки через інструменти Angular
- Розбір синтаксису запитів та технічної різниці між ними в їх використанні
Директиви, пайпи. Роль модулів Angular
- Використання директив
- Створення необхідних шаблонів, які повторюються в проєкті
- Перетворення даних за допомогою пайпів
- Модульна архітектура
Компоненти та їх робота
- Стилі компонентів
- Передача даних між компонентами
- Взаємодія компонентів
- Життєвий цикл компонентів
Основи роботи сервісів та їх роль у додатку
- Основи роботи сервісів
- Створення та реєстрація сервісу
- Локальні сервіси
- Область видимості сервісів та їх взаємозв'язок
Введення у HttpClient та RxJS
- Основи бібліотеки RxJS та її використаннядля роботи з асинхронністю
- Модуль HttpClientModule для взаємодії з сервером
Форми в Ангуляр
- Створення форм в Angular
- Двосторонній байдинг
- Реактивні форми. Відображення стану форми та її полів
- Валідатори
- Управління формою, її полями
- Асинхронні валідатори
Маршрутизація
- Основи маршрутизації, динамічні сторінки
- Динамічні сторінки і передача даних між ними
- Обмеження маршрутизації в Angular
Практичне заняття. Підготовка до роботи проєкту
Підготовка до роботи проєкту, налаштування маршрутизації, реалізація простого запиту на сервер для виводу інформації в блоках.
Практичне заняття. Створення окремих сторінок динамічною маршрутизацією
Створення окремих сторінок динамічною маршрутизацію і передача даних між сторінками.
Практичне заняття. Додавання форми з валідацією
Додавання форми з валідацією.
Після завершення курсу ви будете вміти:
- Розуміти роль та переваги Angular у веб-технологіях
- Створювати простий додаток, який буде складатися з компонентів, модулів та сервісів
- Налаштовувати маршрутизацію в додатку та передавати дані між сторінками
- Використовувати додаткові вбудовані інструменти для додатку, такі як: директиви, пайпи, сервіси, форми
- Виконувати запити та приймати відповіді з серверної сторони сайту/додатку
Особливості курсу
- Практичні заняття і перевірка ДЗ
- Безкоштовний відеокурс
- Онлайн тестування і сертифікація
Викладачі курсу
- Дмитро Охріменко - Експерт з побудови розподілених та веб-орієнтованих додатків
- Сергій Патьоха - Senior Software Engineer
- Олександр Гончаренко - Web Frontend Developer
- Анна Павлюк - Web Frontend Developer
- Олена Хижняк - Web Frontend Developer
- Поліна Соколенко - Web Frontend Developer
- Віталій Мазяр - Web Frontend Developer
- Оксана Дмитрієва - Web Frontend Developer
- Денис Ковтун - Web Frontend Developer
- Python
Курс "Python Поглиблений" буде корисним для всіх, хто має базові знання мови Python і бажає довести володіння нею до поглибленого рівня. На заняттях будуть розглядатися такі складні теми, як елементи функціонального програмування поглибленого рівня, робота з мережею та сховищами даних, асинхронне та багатопоточне програмування, типізація, віртуальні оточення, модульне тестування. Останній урок присвячений практиці, де кожен учень зможе використати набуті знання у створенні підсумкового проєкту
Програма курсу
Елементи функціонального програмування
- Функції як об'єкти першого класу (first-class citizens)
- Лямбда-вирази
- Замикання
- Функції вищого порядку, керування функцій
- Декоратори
- Функції filter, map, reduce
- Модулі functools, operator, itertools
Робота з мережею
- Протокол UDP
- Протокол TCP
- Створення socket-клієнтів/серверів
- Бібліотека socket, urllib, requests
Сховища даних
- Формати даних CSV/XML/JSON
- СУБД SQLite
SQLite. Синтаксис та запити
- Основні поняття та особливості СУБД SQLite
- Бібліотека SQLite в Python
Багатопоточне програмування в Python, модуль threading
- Основні поняття багатопоточності
- GIL у Python
- Вивчення модуля threading: Thread, Lock, RLock, Event, Semaphore, Timer
- Вивчення бібліотеки concurrent.futures
Асинхронне програмування
- Основні поняття асинхронності
- Співпрограми/корутини та ключові слова async/await
- Модуль asyncio та запуск циклу подій
- Запуск співпрограм у циклі подій. Приклади та різні варіанти
- Приклади сторонніх бібліотек та фреймворків: aiohttp, gevent та tornado
Типізований Python
- Типізація та робота з IDE
- Модуль typing, mypy
Віртуальні оточення
- Поняття змінних оточення
- Призначення змінних оточення
- Активація/деактивація віртуального оточення
- Етапи роботи віртуального оточення
- Аналоги venv (virtualenv, poetry, pipenv)
Модульне тестування
- Поняття unit-тестів та їх призначення
- Створення unit-тестів
- Сторонні бібліотеки для створення unit-тестів
Практика
Практичне застосування отриманих знань
Практика
Практичне заняття
Після завершення курсу ви будете вміти:
- Створювати мережеві додатки на основі TCP/UDP протоколів
- Розбиратися та використовувати формати даних CSV/XML/JSON, працювати із СУБД SQLite, яка вбудовується
- Створювати багатопоточні та асинхронні програми, використовувати GIL в Python
- Розуміти призначення метакласів, побачивши їх реальне застосування на практиці
- Використовувати бібліотеку Numpy для розв'язання математичних задач
- Використовувати типізацію в Python та створювати типізовані програми, які надають більш швидке та зручне налагодження помилок
- Розуміти задачі та цілі модульного тестування, а також писати тести для перевірки працездатності власного коду
- Розуміти та використовувати рекомендації щодо стандарту оформлення коду на Python - PEP8
Попередні вимоги
Базові знання мови Python
Особливості курсу
- Практичні заняття і перевірка ДЗ
- Безкоштовний відеокурс
- Онлайн тестування і сертифікація
Викладачі курсу
- Віталій Лисенко - Python Developer. Тренер-консультант
- Віктор Ковтун - Python Developer. Тренер-консультант
- Іван Діордиця - Python Developer. Тренер-консультант
- Леонід Подріз - Python Developer. Тренер-консультант
- Володимир Мзоков - Python Developer
- Костянтин Зівенко - Тренер з напрямку Python Developer
- C# / .NET
Курс C# Professional (С# для професіоналів) орієнтований на комплексне і глибоке вивчення можливостей платформи .NET. Він буде цікавий тим програмістам, які вже мають досвід роботи з мовою C# і хочуть познайомитися з додатковими тонкощами .NET, а також особливостями їх ефективного використання.
Програма курсу
Колекції користувача
На цьому уроці розглядається робота з колекціями в Microsoft .NET Framework. Учням демонструються різні приклади створення користувацької колекції і пояснюється робота ключових інтерфейсів: IEnumerable та IEnumerator, ICollection та ICollection, IList.
Системні колекції
На даному уроці демонструється все різноманіття основних класів для групування зв'язаних об'єктів та їх подальшої обробки. Розглядаються основні системні колекції.
Програмування вводу-виводу
У цьому уроці розглядається робота із засобами введення-виведення в Microsoft .NET Framework, які дозволяють отримувати доступ до файлів і папок файлової системи. Демонструється робота з потоками для читання і запису, стиснення потоків та механізм ізольованого зберігання.
Робота з текстом. Регулярні вирази
Урок дозволяє зрозуміти, як регулярні вирази надають потужний, гнучкий і ефективний метод обробки тексту. Розглядаються великі можливості співставлення шаблонів, які дозволяють перевіряти текст на відповідність визначеним заздалегідь вимогам.
XML. Файли конфігурації. Реєстр
Урок допомагає навчитися самостійно виконувати запис і читання XML-файлів, вибірково читати або додавати в них дані, виконувати операції порівняння.
Рефлексія
Урок дозволяє розуміти принципи рефлексії та використовувати в своїй роботі класи Type i Assembly для отримання доступу до інформації, що відноситься до визначення будь-якого типу даних, а також вивантажувати або завантажувати інформацію із "зовнішньої" збірки до свого додатку.
Атрибути
На уроці розглядається загальне поняття атрибутів, створення користувацьких атрибутів, відображення інформації про атрибут, глобальні атрибути та їх застосування.
Серіалізація
Урок знайомить з поняттям серіалізації і десеріалізації об'єктів. Демонструються приклади виконання серіалізації в XML, двійковому форматі і форматі SOAP, розглядається реалізація власних методів.
Управління пам'яттю. Garbage collector
На уроці розглядаються механізми управління пам'яттю, робота збирача сміття (GC), його покоління, а також робота деструктора.
Версійність
Урок розкриває поняття версійності. Демонструється, яким чином можна виконувати контроль версій програми. Розглядається приклад і застосування патерну NVI.
Потоки
Урок дозволяє навчитися синхронізувати роботу потоків, розкриває основні принципи управління потоками. Розглядаються приклади застосування класів Interlocked, SpinLock, Monitor.
Синхронізація за допомогою об'єктів ядра Windows
На уроці розглядаються приклади безпечного отримання доступу до будь-якого елементу з декількох потоків. Демонструються приклади застосування Mutex i Semaphore, для синхронізації доступу до захищених ресурсів та управління доступом до пулу ресурсів.
TPL - Паралельне програмування
На уроці розглядається тема розпаралелювання і багатопоточності, демонструються приклади запуску задач, повернення з них значень. Пояснюються принципи написання PLINQ запитів і їх призначення.
C# Async & Await
Синхронність та асинхронність, асинхронність в C#. C#: async i await, виключення, асинхронність та багатопоточність.
Робота контексту синхронізації з async await
Урок познайомить вас з роботою ключових слів async await в додатках WPF i ASP.NET.
Після завершення курсу ви будете вміти:
- Розуміти та правильно застосовувати важливий інструмент програмування - колекції
- Працювати з файловою системою: отримувати доступ до файлів, каталогів та дисків з метою прийому або запису необхідної інформації
- Працювати з текстами та/або текстовими файлами, у тому числі з XML-файлами
- Ефективно керувати оперативною пам'яттю, використовуючи Garbage Collector
- Використовувати двійкову, SOAP та XML технології серіалізації
- Виконувати контроль версій (Versioning)
- Працювати з потоками з метою використання переваг багатопроцесорних або багатоядерних систем
- Розуміти та використовувати фундаментальні речі функціонального програмування: лямбда-вирази, замикання, мемоізацію, карування
Особливості курсу
- Практичні заняття і перевірка ДЗ
- Безкоштовний відеокурс
- Онлайн тестування і сертифікація
Викладачі курсу
- Олександр Шевчук - Експерт у галузі побудови архітектури інформаційних систем, бізнес-аналізу та управління IT проєктами.
- Олександр Пономаренко - .NET Developer
- Олександр Ульянов - .NET Developer
- Альберт Ташу - .NET Developer
- Антон Іваненко - .NET Developer. Тренер-консультант
- Армен Маілян - .NET Developer
- Владислав Гнатюк - .NET Developer
- Владислав Сіненко - .NET Developer
- Максим Ковальчук - .NET Developer. Тренер-консультант
- Сергій Даценко - .NET Developer. Тренер-консультант
- Юлія Стеценко - .NET Developer. Тренер-консультант
- Віктор Васильчук - .NET Developer. Тренер-консультант
- Євген Лукашук - .NET/.NET Core Developer. Тренер-консультант
- Констянтин Чорний - .NET Developer. Тренер-консультант
- Дмитро Шваб - .NET Developer. Тренер-консультант
- Михайло Козин - .NET Developer. Тренер-консультант
- Юрій Боцман - .NET Developer. Тренер-консультант
- Володимир Нікітін - .NET Developer. Тренер-консультант
- Михайло Трофименко - .NET Developer. Тренер-консультант
- Андрій Скуратовський - .NET Developer. Тренер-консультант
- Владислав Черкіс - .NET Developer
- Михайло Карпенко - .NET Team Leder
- Ольга Хорошко - Backend Developer
- Володимир Виноградов - Senior Software Engineer
- Java
Навчання програмуванню відбувається, починаючи з вивчення основних понять і принципів об'єктно-орієнтованого програмування, класів, а також особливостей мови JAVA, і закінчуючи розглядом базових понять такої парадигми як Java Generics.
Програма курсу
Введення в ООП. Класи і об'єкти
Розглядається тема класів і створення їх екземплярів. Пояснюється призначення та використання властивостей, принципи роботи з конструкторами. Застосування ключових слів this i null. Інкапсуляція.
Класи і об'єкти
На уроці розглядаються взаємозв'язки між об'єктами і класами, поняття стану і поведінки об'єктів, перевантаження конструкторів. Розглядаються області застосування ключового слова static.
Успадкування і поліморфізм
На уроці розглядаються такі парадигми об'єктно-орієнтованого підходу, як успадкування і поліморфізм, механізми перевизначення методів і ключове слово final.
Абстрактні класи та інтерфейси
На уроці розглядається парадигма абстракції і її використання в Java. Робота з абстрактними класами і інтерфейсами. Приклади зв'язків між класами (композиція, асоціація, агрегація і т.д).
Списки
На уроці розглядається робота з масивами і методи класу Arrays. Як заміна роботи з масивами розглядається робота зі списками з Java Collection Framework на прикладі ArrayList.
Статичні і вкладені класи. Анонімні класи і перелічувані типи
Розглядаються застосування і використання вкладених класів, принципи створення і механізми використання статичних членів. Використання анонімних об'єктів і анонімних класів, використання і сфера застосування перерахувань (Enums).
Обробка виключень
На уроці розглядається механізм обробки виняткових ситуацій виконання програми в Java. Розглядається клас Exception, конструкції try-catch-finaly, try-with-resources. Створення власних класів-винятків.
Class Object
На уроці розглядається ієрархія класів в Java і суперклас Object. Також розглядається перевизначення і використання методів класу Object.
Універсальні шаблони
На уроці розглядається парадигма узагальненого програмування Java Generics. Будуть розглянуті параметризовані типи в Java, коваріантність, контрваріантність і обмеження узагальнень.
Практика
Застосування знань, отриманих у попередніх уроках, на практиці.
Після закінчення курсу ви будете вміти:
- Працювати з класами та об`єктами, використовувати властивості, методи, конструктори
- Застосовувати ключові слова this, null, static, final
- Працювати зі списками з Java Collection Framework
- Створювати статичні, вкладені та абстрактні класи, використовувати інтерфейси
- Обробляти виключення, що виникають в ході роботи програми
- Розуміти та застосовувати основні принципи об`єктно-орієнтованого програмування (ООП): наслідування, інкапсуляція та поліморфізм,
- Працювати із суперкласом Object
- Використовувати Generics (узагальнення, універсальні шаблони)
Попередні вимоги
- Вільно орієнтуватися в матеріалах курсу Java Starter
- Розуміти теорію машинної математики і роботи електронно-обчислювальних систем
- Знати базовий синтаксис 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 SyberBionic
- Дмитро Красний - Тренер-консультант напрямку Java Developer
- Владислав Донець - Middle Java Developer at SoftServe
- JavaScript
Курс "JavaScript Стартовий" - відмінний вибір для розробників-початківців, які володіють основами HTML та CSS. Він допоможе з нуля опанувати мову JS на базовому рівні.
Програма курсу
Введення в JavaScript. Змінні та типи даних
- Що таке JavaScript, можливості цієї мови програмування
- Вибір редактора коду
- Різниця між розробкою клієнтської та серверної сторони
- Інструкції та коментарі
- Способи підключення сценарію
- Поняття інтерпретації сценарію, в чому різниця інтерпретації і компіляції
- Змінні і константи, типи даних в JavaScript
- Рекомендації щодо іменування змінних
- Використання консолі браузера
- Рекомендована література
Строки та оператори
- Що таке літерал, рядкові літерали
- Конкатенація і шаблонні рядки
- Перетворення типів у JavaScript
- Використання функції prompt
- Поняття оператора і операнда
- Бінарні та унарні оператори
- Арифметичні оператори
- Оператори порівняння
Логічні структури
- Використання оператора if else
- Перетворення до булевого типу
- Логічні операції - кон'юнкція, диз'юнкція, заперечення
- Використання оператора switch
- Ключове слово break в switch
- Використання тернарного оператора
Масиви та цикли
- Циклічні конструкції в JavaScript - while, do/while, for
- Використання continue i break в тілі циклу
- Використання міток в циклах для continue i break
- Створення масивів
- Читання і модифікація елементів масиву
- Властивість length
- Як обробляти масиви, використовуючи циклічні конструкції
Функції
- Оголошення та виклик функцій, рекомендації щодо іменування функцій
- Параметри і параметри за замовчуванням
- Значення, що повертається
- Області видимості, локальні і глобальні змінні
- Ключове слово var
- Variable & Function hoisting
- Стрілочні функціїта анонімні функції
- Рекурсія
- Функції зворотнього виклику
- Методи для роботи з масивами ES5
Об'єкти
- Що таке об'єкт
- Способи створення об'єктів, властивості і методи
- Вкладені об'єкти
- Ключове слово delete
- Контекст функції
- Фабричні методи
- Оператор in і циклічна конструкція for...in
- Об'єктні типи та типи значень
Практика
Рішення додаткових практичних завдань, розроблених з використанням матеріалів даного курсу. Робота над курсовими проєктами та вирішення питань, що залишилися з домашніх завдань до уроків курсу.
Особливості курсу
- Практичні заняття і перевірка ДЗ
- Безкоштовний відеокурс
- Онлайн тестування і сертифікація
Викладачі курсу
- Дмитро Охріменко - Експерт з побудови розподілених та веб-орієнтованих додатків
- Олександр Гончаренко - 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
- Денис Ковтун - Web Frontend Developer
- Богдан Мартиненко - Frontend Developer
- Тарас Заславський - Frontend Developer
- Владислав Бєлік - React Frontend Developer
- Олексій Татаренков - Frontend Developer
- Олексій Кучеренко - тренер-консультант напрямку Frontend
- Олександр Виноградов - Software Developer
- Python
Курс "Python Базовий" є логічним продовженням курсу "Python Стартовий". На даному курсі розглядається парадигма об'єктно-орієнтованого програмування (ООП) та її реалізація у мові Python. Ви познайомитеся з основними концепціями ООП – інкапсуляцією, спадкуванням, поліморфізмом, абстракцією та тим, як ці принципи втілені у конструкціях Python.
Програма курсу
ООП - Класи, атрибути, методи, конструктор
Після завершення уроку учні матимуть уявлення про парадигму об'єктно-орієнтованого програмування, зможуть створювати класи та об'єкти у програмах на Python.
ООП - Спадкування. Анотація. Абстрактні класи та методи
Після завершення уроку учні розширять своє уявлення про один з основних принципів парадигм об'єктно-орієнтованого програмування - успадкування, його реалізацію в мові Python, зможуть зрозуміти та використовувати принципи спадкування.
ООП - Інкапсуляція та поліморфізм
Після завершення уроку учні розуміють, що таке інкапсуляція в об'єктно-орієнтованому програмуванні, як реалізовувати ці парадигми у мові Python.
Обробка винятків
Після завершення уроку учні матимуть уявлення про обробку помилок та виняткових ситуацій та зможуть користуватися механізмом виключень у мові Python.
Основні принципи програмування: інтроспекція та рефлексія
Після завершення уроку учні матимуть уявлення про основні принципи програмування: інтроспекції та рефлексії, а також застосовувати їх на практиці.
Ітератори
Після завершення уроку учні матимуть уявлення про механізм ітераторів та навчаться створювати власні ітератори.
Генератори
Після завершення уроку учні знатимуть про такий механізм, як генератор, навчаться створювати генератори і розберуться у яких випадках їх слід використовувати.
Робота з файлами
Після завершення уроку учні знатимуть, як працювати з файлами та файловою системою: основні режими роботи з файлами та методи, а також використання контекстного менеджера.
Модулі та пакети
Після завершення уроку учні матимуть уявлення про модулі та пакети та систему імпортування модулів у Python.
Регулярні вирази
Після завершення уроку учні розуміють, що таке регулярні вирази, сфера їх застосування та завдання, які вони покликані вирішувати, а також отримають практичні навички під час роботи з регулярними виразами, використовуючи мову Python.
Практика
Практичне заняття.
Практика
Практичне заняття.
Після завершення курсу ви будете вміти:
- Створювати об'єкти та класи
- Розуміти та застосовувати принципи ООП (об'єктно-орієнтованого програмування) мовою Python
- Здійснювати обробку помилок та виключень
- Створювати власні ітератори, генератори та співпрограми
- Працювати з послідовностями, а також множинами та відображеннями в Python
- Імпортувати модулі та користуватися ними
- Працювати з файлами: зчитувати та записувати інформацію
- Користуватися базовими принципами функціонального програмування
Попередні вимоги
- Впевнене володіння персональним комп'ютером
- Навички роботи з текстовими редакторами
- Базові знання мови Python на рівні Python Starter або досвід програмування, достатній для того, щоб швидко освоїти призначення і особливості роботи найпростіших конструкцій мови
Особливості курсу
- Практичні заняття і перевірка ДЗ
- Безкоштовний відеокурс
- Онлайн тестування і сертифікація
Викладачі курсу
- Віталій Лисенко - Python Developer. Тренер-консультант
- Віктор Ковтун - Python Developer. Тренер-консультант
- Іван Діордиця - Python Developer. Тренер-консультант
- Леонід Подріз - Python Developer. Тренер-консультант
- Володимир Мзоков - Python Developer
- Костянтин Зівенко - Тренер з напрямку Python Developer
- C# / .NET
Курс дозволяє отримати достатній рівень володіння мовою програмування C#, а також необхідний для проходження наступних курсів у напрямку програмування на платформі. Net Framework 4.0.
Програма курсу
Введення в ООП. Класи і об'єкти
На уроці розглядається тема класів і створення їх примірників. Пояснюється призначення та використання властивостей, принципи роботи з конструкторами. Особливу увагу виділено розгляду основних парадигм ООП.
Класи і об'єкти. Діаграми класів.
На занятті розглядається застосування часткових класів і методів. Пояснюються призначення та використання діаграм класів, а також демонструються приклади зв'язків відносин між класами (асоціації, агрегації, композиції, реалізації, самоасоціації залежності і т.д).
Успадкування та поліморфізм
На уроці розглядається тема успадкування та основні форми поліморфізму. Пояснюється призначення та застосування модифікаторів доступу, віртуальних членів, поняття і використання герметизованих класів, ключового слова sealed.
Абстракція. Абстрактні класи та інтерфейси
На уроці демонструються приклади використання і створення абстрактних класів і інтерфейсів, їх основні відмінності.
Масиви та індексатори
На уроці розглядаються приклади створення і використання масивів. Пояснюються принципи створення і використання індексаторів, їх перевизначення.
Статичні і вкладені класи
Урок дозволяє зрозуміти роботу статичних членів, принципи створення та використання статичних класів. Пояснюється робота розширених методів. Розкривається поняття вкладених класів. Розглядається патерн "Одинак".
Структури та їх різновиди
На уроці розкривається поняття структур та їх членів, ключові особливості роботи з ними, а також основні відмінності класів від структур.
Структури та їх різновиди. Перерахування
На уроці розглядаються приклади операцій упаковки і розпакування. Демонструється робота зі структурою DateTime і способи одержання часу комп'ютера, форматування дати і т.д. Пояснюється призначення та застосування перерахувань.
Делегати
Урок дозволяє зрозуміти роботу делегатів і лямбда виразів. Розглядаються приклади комбінування делегатів, використання анонімних методів.
Універсальні шаблони
Урок розкриває поняття узагальнень (параметризованих типів), їх призначення, приклади використання. Розглядається ковариантність і контрваріантність узагальнень.
Обмеження універсальних шаблонів
Урок дозволяє навчитися розуміти роботу універсальних шаблонів, демонструються основні обмеження, які можна використовувати для них. Пояснюється поняття Nullable типів і операції поглинання.
Події
На уроці пояснюється робота подій і приклади їх використання. Розглядається призначення патерну MVP і його застосування.
Потоки
Урок розкриває тему багатопоточності в C#, використання делегатів ThreadStart i ParameterizedThreadStart, пояснюється робота критичних секцій, як засобів синхронізації доступу декількох потоків до ресурсів.
Колекції
На уроці пояснюється призначення та використання колекцій, базових інтерфейсів IEnumerable, IEnumerator. Розглядаються приклади створення користувацьких колекцій, демонструється робота оператора yield.
Обробка виключень
Урок дозволяє розуміти і використовувати техніки обробки виняткових ситуацій, роботу класу Exception і конструкцій try - catch - finaly.
Перевантаження операторів
На цьому уроці розглядається базовий клас object, його використання і застосування. Пояснюється техніка клонування, а також призначення патерну "Прототип" та інтерфейсу ICloneable. Демонструються приклади використання техніки перевантаження операторів.
Анонімні і динамічні типи. LINQ
На уроці розглядаються анонімні і динамічні типи, а також приклади їх використання. Пояснюються механізми роботи LINQ.
Простори імен. Директиви препроцесора
Даний урок дозволяє навчитися створювати динамічні бібліотеки, використовувати простори імен. Розглядаються модифікатори доступу internal i protected internal, їх застосування. Демонструються приклади використання директив препроцесора.
Після завершення курсу ви будете вміти:
- Застосовувати у своїх додатках інтерфейси, абстрактні та статичні класи, а також розуміти суттєві відмінності між ними
- Користуватися розширюючими методами, виконувати перевантаження операторів
- Розуміти основи об'єктно-орієнтованого програмування (ООП)
- Використовувати патерни "Абстрактна фабрика", "MVP", "Одинак" для формування архітектури власних додатків
- Організовувати роботу додатку в декількох потоках, розуміти роботу критичних секцій
- Створювати та реалізовувати власні користувацькі колекції
- Обробляти виключення та помилки, що виникають в процесі роботи додатку
- Створювати та виконувати запити з використанням LINQ
- Створювати динамічно зв'язані бібліотеки та підключати їх до своїх проектів
Особливості курсу
- Практичні заняття і перевірка ДЗ
- Безкоштовний відеокурс
- Онлайн тестування і сертифікація
Викладачі курсу
- Олександр Шевчук - Експерт у галузі побудови архітектури інформаційних систем. бізнес-аналізу та управління IT проєктами
- Олександр Пономаренко - .NET Developer
- Олександр Ульянов - .NET Developer
- Альберт Ташу - .NET Developer
- Антон Іваненко - .NET Developer. Тренер-консультант
- Армен Маілян - .NET Developer
- Владислав Гнатюк - .NET Developer
- Владислав Сіненко - .NET Developer
- Максим Ковальчук - .NET Developer. Тренер-консультант
- Сергій Даценко - .NET Developer. Тренер-консультант
- Юлія Стеценко - .NET Developer. Тренер-консультант
- Віктор Васильчук - .NET Developer. Тренер-консультант
- Євген Лукашук - .NET/.NET Core Developer. Тренер-консультант
- Констянтин Чорний - .NET Developer. Тренер-консультант
- Дмитро Шваб - .NET Developer. Тренер-консультант
- Михайло Козин - .NET Developer. Тренер-консультант
- Юрій Боцман - .NET Developer. Тренер-консультант
- Володимир Нікітін - .NET Developer. Тренер-консультант
- Михайло Трофименко - .NET Developer. Тренер-консультант
- Андрій Скуратовський - .NET Developer. Тренер-консультант
- Владислав Черкіс - .NET Developer
- Михайло Карпенко - .NET Team Leader
- Ольга Хорошко - Backend Developer
- Володимир Виноградов - Senior Software Engineer
- Java
Курс присвячений вивченню технології JPA і її використання на прикладі реалізації Hibernate. Студентам буде показано як використовувати технологію JPA для зберігання даних Java-об'єктів в реляційній БД, а також слухачі дізнаються основні аспекти використання Hibernate в якості JPA runtime (налаштування, оптимізація).
Програма курсу
Введення у JDBC
- Object persistence
- Реляційна база даних
- Об'єктна модель і реляційна модель
- Опір невідповідності реляційного об'єкта
- Відображення реляційного об'єкта
Початок роботи з Hibernate i JPA анотації
- Що таке Hibernate, короткий огляд
- Налаштування проєкту
- Конфігурація Hibernate
- "Hello world" з використанням Hibernate i JPA анотацій
- Логування
- Маніпуляція об'єктами
Mapping concepts and annotations
- Агрегація і композиція
- Об'єкти і типи значень
- Component mapping
- Mapping асоціації
- Каскади
- Співвідношення один до багатьох
- Один до одного
- Багато до багатьох
- Поле в порівнянні з доступом до властивостей
- Ідентифікатори
- @Column, @Transient, @Temporal, @Formula
Hibernate API and JPA API
- Persistence lifecycle (Hibernate)
- Збереження об'єктів (Hibernate and JPA)
- Отримання об'єктів (Hibernate and JPA)
- Зміна об'єктів (Hibernate and JPA)
- Видалення об'єктів (Hibernate and JPA)
- Повторне прикріплення окремих об'єктів (Hibernate and JPA)
- Збереження або оновлення (Hibernate)
- Промивання контексту зображення (Hibernate)
- Session and entity manager similarities (JPA)
Початок роботи з JPA
- Що таке JPA?
- Hibernate в якості постачальника JPA
- Робота з об'єктами
- Кешування об'єктів
- SQL joins
- Ледача вибірка
- Equals and hash-code
- Мова запитів
- Пакетна вибірка
- Об'єднання окремих об'єктів
- Оптимістичне блокування та управління версіями
- Відображення успадкування і поліморфних запитів
Розширені відображення і конфігурації
- Compound primary keys
- Compound join columns
- Перерахування
- Mapped Superclass inheritance
- Таблиця спадкування класів
- Одиничне успадкування таблиці
- Побудова персистенції
- Уявлення для складних запитів
- Схема генерації
Після завершення курсу ви будете вміти:
- Працювати з Java та базами даних
- Маніпулювати даними за допомогою запитів з JDBC
- Проектувати додаток під ООП, отримуючи дані з БД
- Працювати з чистим JPA та з Hibernate (здійснювати прості запити)
- На основі готових класів генерувати таблиці та навпаки
- Працювати зі зв’язками таблиць як з об’єктами
Попередні вимоги
- Студенти повинні мати гарне уявлення про мову програмування Java
- Базове розуміння реляційних баз даних і SQL може бути дуже корисним
Особливості курсу
- Практичні заняття і ДЗ
- Безкоштовний відеокурс
- Онлайн тестування і сертифікація
Викладачі курсу
- Андрій Бондаренко - Java Developer
- Андрій Фок - Java Developer. Тренер-консультант
- Євген Кондаков - Java Developer. Тренер-консультант
- Іван Демидко - Java Developer. Тренер-консультант
- Олександр Корж - Java Developer. Тренер-консультант
- Євген Дайнека - Java Software Engineer
- Євген Тихонов - Java Developer
- Юрій Царенко - Java Developer. Тренер-консультант
- Ігор Войтов - Java Developer. Тренер-консультант
- Вадим Кожевніков - Java Developer and Trainer at CyberBionic
- Дмитро Красний - Тренер-консультант напрямку Java Developer
- Владислав Донець - Middle Java Developer at SoftServe
- Other
Після проходження курсу Ви зможете самі створювати репозиторії для проектів, вести історію змін, синхронізуватися з іншими розробниками під час роботи в команді, виконувати злиття або відкат до попередніх версій коду, а також інтегруватися з IDE.
Програма курсу
Основи Git
- Системи контролю версій. Що це?
- Що таке Git?
- Працюємо з консоллю Git. Базові команди
Публікація репозиторію
- Огляд сервісів для командної розробки
- Використання GitHub/GitLab
- Етапи роботи з репозиторієм
- Робота з віддаленим репозиторієм
- Клонування репозиторію
- Відкат змін
- Розгалуження та злиття
- Вирішення конфліктів
Інтеграція з IDE
- Інтерактивне переміщення
- Покажчики у git
- Організація роботи з Git у IDE
- Робота з Git за допомогою GUI
- Практика
Особливості курсу
- Практичні заняття і перевірка ДЗ
- Безкоштовний відеокурс
- Онлайн тестування і сертифікація
Викладачі курсу
- Юрій Боцман - .NET Developer
- Володимир Нікітін - .NET Developer
- Юрій Царенко - Java Developer at Processica
- Михайло Трофименко - .NET Developer
- Віталій Мазяр - Web Frontend Developer
- Богдан Мартиненко - Frontend Developer
- Тарас Заславський - Frontend Developer
- Владислав Бєлік - React Frontend Developer
- Андрій Скуратовський - .NET Developer
- Олег Сотніченко - Java Developer
- Володимир Мзоков - Python Developer, Training Program Manager
- Олексій Татаренков - Frontend Developer
- Ольга Хорошко - Backend Developer
- Вадим Кожевніков - Java Developer and Trainer
- Дмитро Красний - Тренер-консультант напрямку Java Developer
- Владислав Донець - Middle Java Developer at SoftServe
- Олексій Кучеренко - Тренер-консультант з напрямку Frontend
- Олександр Виноградов - Software Developer
- Констянтин Зівенко - Тренер з напрямку Python Developer
- JavaScript
Протягом 18 занять ви опануєте головні принципи використання цієї мови при побудові користувацьких інтерфейсів і при створенні сценаріїв, які використовують об'єктно-орієнтовані техніки та функціональні підходи. Цей курс стане фундаментом для подальшого вивчення бібліотек і фреймворків, що базуються на мові JavaScript.
Програма курсу
Пошук елементів та DOM дерево
- Поняття оточення в JavaScript
- DOM - Document Object Model
- BOM - Browser Object Model
- Пошук елементів у DOM, використання методів querySelector і querySelectorAll
- Типи вузлів DOM дерева
- Основні властивості вузлів DOM дерева
- Методи для навігації вузлами DOM дерева
Зміна DOM дерева. CSS стилі
- Способи створення вузлів в DOM дереві
- Вставка і видалення вузлів
- Способи клонування вузлів DOM дерева
- Властивості і атрибути елементів
- Методи для роботи з атрибутами
- Робота з одними атрибутами data
- Використання CSS стилів, властивості className і classList
- Обчислені стилі і робота з ними
Події. Частина 1
- Що таке подія
- Основні події
- Обробка подій через HTML атрибути
- Обробка подій через властивості вузлів DOM дерева
- Обробка подій за допомогою методу AddEventListener
Події. Частина 2
- Об'єкт Event для отримання додаткових даних при обробці події
- Події DOMContentLoaded і load
- Приклади обробки подій миші
- Приклади обробки подій клавіатури
Події. Частина 3
- Фази проходу події DOM деревом
- Реєстрація обробника події на різні фази
- Скасування виконання дії, за замовчуванням пов'язаної з подією
- Скасування спливання або занурення події
- Приклади використання делегування події при використанні методу addEventListener
Функції-конструктори
- Різниця між функцією-фабрикою і функцією-конструктором
- Використання функцій-конструкторів
- Робота з прототипами
- Циклічна конструкція for / in
- Використання ключового слова instanceof
Класи
- Поняття класів
- Використання ключового слова class
- Конструктори і методи класів
- Getter і setter
- Закриті та відкриті поля класів
Класи. Наслідування
- Наслідування класів в JavaScript
- Ключове слово extends
- Робота з конструкторами в класах-спадкоємцях
- Використання ключового слова super
- Перевизначення методів
- Статичні методи і властивості
Контекст функції
- Що таке контекст функції
- Зміна контексту через методи apply, call і bind
- Планування виклику функції, використання методів setTimeout і setInterval
- Контекст в стрілочних функціях
- Особливості використання контексту при використанні функцій зворотного виклику
Замикання
- Глобальний об'єкт і глобальні змінні, що таке globalThis
- Контекст виконання
- Лексичне оточення
- Замикання
- Приклади використання замикань
Форми і елементи управління
- Тег form
- Способи отримання форми і її елементів через JavaScript код
- Приклади роботи з основними елементами управління через JavaScript код
Перевірка даних форми
- Обробка події submit
- Події blur і focus
- Події copy, paste і cut
- Вбудована перевірка користувацького введення (HTML5 валідація)
- Додавання своєї логіки до вбудованої перевірки користувацького введення форм
- Основи роботи з регулярними виразами і приклади застосування регулярних виразів для перевірки користувацького введення
- Створення сценарію для перевірки користувацького введення
Cookies i Web Storage
- Що таке cookies і як з ними працювати в JavaScript
- Огляд Web Storage API
- Використання sessionStorage і localStorage
- Подія storage
Обробка виключень
- Що таке виключення
- Конструкція try catch
- Використання блоку finally
- Використання ключового слова throw
- Створення користувацьких виключень
Асинхронний код. Promise
- Що таке синхронний і асинхронний код
- Використання функцій зворотного виклику для організації асинхронного коду
- Використання Promise для асинхронного коду
- Ланцюжки promise
- Обробка винятків при роботі з Promise
- Використання методів Promise API
Мережеві запити
- Що таке HTTP
- Структура HTTP протоколу, як виглядає запит і відповідь
- Використання методу fetch для відправки HTTP запиту через JavaScript код
- Налаштування HTTP запиту під час роботи з методом fetch
- Скасування HTTP запиту, відправленого через метод fetch
Практичне заняття
Частина 1
Практичне заняття
Частина 2
Особливості курсу
- Практичні заняття і перевірка ДЗ
- Безкоштовний відеокурс
- Онлайн тестування і сертифікація
Викладачі курсу
- Віталій Мазяр - Web Frontend Developer
- Богдан Мартиненко - Frontend Developer
- Тарас Заславський - Frontend Developer
- Владислав Бєлік - React Frontend Developer
- Ростислав Сілівейстр - Web Frontend Developer
- Олексій Татаренков - Frontend Developer
- Олексій Кучеренко - тренер-консультант напрямку Frontend
- Олександр Виноградов - Software Developer
- SQL / DBA
Курс складається з 5 уроків, на яких кожен студент опанує основи побудови реляційних баз даних та SQL і познайомиться з базовим використанням СУБД PostgreSQL.
Програма курсу
Реляційні БД. Інфраструктура та розгортання БД
- Введення в реляційні бази даних
- Інфраструктура та розгортання БД
- Знайомство з клієнтами і підключення
- Підключення до БД з Python-коду
Основні типи даних PostgreSQL та прості запити
- Основні типи даних PostgreSQL
- Прості запити
Об'єднання таблиць (JOIN) та підзапити
- JOIN - поєднання таблиць (види, приклади та псевдоніми)
- Підзапити (структурування запитів та синтаксис підзапитів)
Інші об'єкти баз даних: представлення та функції
- Представлення VIEW
- Функції в PostgreSQL
- Існуючі варіанти мов для написання серверних функцій у PostgreSQL (SQL, PL\pgSQL, PL\Python, PL\Tcl, PL\Perl, C)
- Основні правила створення серверних функцій в PostgreSQL
- SQL: синтаксис визначення функції
- Використання процедурних мов для створення функцій
Проєктування БД. DLL - керуємо базами даних та об'єктами баз даних (таблицями, представленнями, функціями і іншими)
- Проєктування БД
- Нормалізація БД
- DDL - керуємо базами даних та таблицями
Після завершення курсу ви будете вміти:
- Проєктувати БД, виконувати їхню нормалізацію
- Розгортати БД, підключатися до неї за допомогою Python
- Працювати з реляційною СУБД PostgreSQL і складати прості запити
- Виконувати об'єднання таблиць та користуватися підзапитами
- Створювати представлення та оперувати функціями
- Керувати базами даних та таблицями за допомогою DDL
Попередні вимоги
- Впевнене володіння персональним комп'ютером
- Впевнені знання з будь-якої процедурної або об'єктно-орієнтованої мови програмування
Особливості курсу
- Практичні заняття і перевірка ДЗ
- Безкоштовний відеокурс
- Онлайн тестування і сертифікація
Викладачі курсу
Костянтин Зівенко - Тренер з напрямку Python Developer
Подати заявку- Frontend
Пройшовши цей курс ви дізнаєтеся, як застосовувати передові технології, засновані на HTML5, для написання програм, що дозволяють максимально використовують можливості сучасних браузерів.
Програма курсу
Принципи побудови розмітки, Flex, Grid, шаблони сайтів
- Визначення CSS3 Grid Layout
- Підтримка Grid Layout браузерами
- Визначення сіток, колонок і рядків
- Властивості Grid для зображування контейнерів
- Методи окремих елементів для зображування
- Вкладені Grid
- Області Grid
Анімація та градієнти
- Властивість transition
- Створення переходів
- Різновиди трансформації
- Матриця трансформації
- Спільне використання трансформації із переходом
- 3D-трансформації
- Анімації
- Використання градієнтів
Робота з графікою на стороні клієнта
- Основи SVG
- Path та координати
- Різні можливості з фігурами
Canvas
- Ознайомлення з тегом canvas
- Промальовування ліній
- Малювання прямокутної області
- Заливка меж і градієнта
- Очищення прямокутної області
- Малювання кривих і дуг
- Додавання img
- Градієнтна заливка
- Додавання тексту та тіні до елементів
- Встановлення прозорості
- Трансформація елементів полотна
- Розгляд прикладів
Геолокація і налаштування карт для сайту
- Перевірка функціонала геолокації у сучасних браузерах
- Структура геолокації API
- Функції JavaScript у розмітці для пошуку розташування
- Функція зворотного геокодування
Знайомство з Node.js i Webpack
- Знайомство з nodeJS
- Створення проєкту і встановлення пакетів webpack
- Налаштування запуску проєкту
Sass основи
- Визначення SASS і перетворення формату SASS в CSS
- Вкладеність
- Використання змінних
- Використання @mixin
- Інтерполяція змінних
- Директива @if у SASS
- Імпортування та розширення файлів
- Директива @if у SASS
Практика
Написання макету сторінки з використанням вивчених інтернет-технологій
Практика
Особливості курсу
- Практичні заняття і перевірка ДЗ
- Безкоштовний відеокурс
- Онлайн тестування і сертифікація
Викладачі курсу
- Сергій Патьоха - 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
- Денис Ковтун - Web Frontend Developer
- Богдан Мартиненко - Frontend Developer
- Тарас Заславський - Frontend Developer
- Владислав Бєлік - React Frontend Developer
- Олексій Татаренков - Frontend Developer
- Олексій Кучеренко - Тренер консультант напрямку Frontend





