- Web & Mobile Design / UI/UX
Проходження цього курсу на базі Навчального Центру має масу переваг. По-перше, він компактний, тому ви не витратите на навчання багато часу. Інформація подана в сконцентрованому вигляді, робиться великий наголос на практику. В процесі навчання ви будете виконувати завдання, які можуть стати основою для портфоліо дизайнера.
Програма курсу
Введення в дизайн UI
- Розробка продуктів: основні етапи
- У чому відмінність UI та UX. UI-дизайнер і його робота над проєктом
- Які інструменти використовує UI-дизайнер
Інструменти дизайнера: Figma і Sketch, Adobe Photoshop, Adobe Illustrator, Invision
- Введення в Figma і Sketch
- Інструмент для розробки макетів InVision
- Avocode - графічний редактор для роботи з файлами PSD і кодом
- Як сформувати бриф відповідно до вимог замовника
- Дослідження ринку, аналіз конкурентів
- Підбір референсів
- Мудборд - що таке, як його створити
- Презентація результатів
Базові відомості про дизайн
- Основи композиції, приклади рішень
- Статична і динамічна композиція
- Шрифти - класифікація, поєднання різних видів шрифтів
- Як вибрати шрифт для дизайну
- Основи типографіки для веб-дизайну
- Акцент і ритм в дизайні
- Теорія кольору - властивості кольорів і їх поєднання
- Створення палітри проєкту
- Психологія сприйняття кольору
- Колір з точки зору дизайнера
- Ресурси для дизайнера
Етапи роботи над дизайном
- Етап скетчінга
- Варфреймінг
- Етап інтерактивного прототипування
- Що таке мокап, віжуал
Побудова інтерфейсу: принципи та інструменти
- Модульна сітка в побудові інтерфейсу
- Функції модульної сітки
- Як створити й налаштувати модульну сітку
- Психологічні особливості сприйняття інформації на веб-сайтах
- Блоки інформації та візуальна ієрархія
- Як розставити пріоритети й акценти на різних елементах веб-сторінки
- Стани елементів інтерфейсу
- Форми та навігація на сайті
- Навіщо потрібні фавіконки
- Прелоадери, іконки та інші інформаційні елементи
- Як вибрати стиль іконок
- Графіка для сайту: технічні вимоги до формату
- Типи медіа та їх розміщення: ілюстрації, відео, фотографії
- Що таке responsive та adaptive design - особливості та відмінності
- Принципи mobile first і desktop first
- Що використовувати - адаптивний дизайн або мобільну версію сайту
- Як підготувати макет і зображення для дисплея Retina
Тестування дизайнерського продукту
- Як відбувається тестування під час створення
- Як поліпшити готовий дизайн
- Поняття design handoff
Як підготувати макет до верстки - інструменти
Графічні елементи сайту - підготовка до верстки.
Огляд трендів і історія веб-дизайну
- Історія web-дизайну і перші веб-сайти
- Сучасні стилі: fluent, flat, material design
- Популярні візуальні прийоми та останні тренди
Застосування анімації в дизайні інтерфейсу
- Як анімувати елементи інтерфейсу
- Анімація в ілюстраціях і іконках
- Сервіси для створення анімації
Презентація фінального проєкту
- Як презентувати проєкт
- Як аргументувати дизайнерські рішення
Що можуть випускники курсу:
- Створювати яскраві та стильні інтерфейси
- Займатися оптимізацією призначеного для користувача інтерфейсу під потреби програми
- Аналізувати шляхи взаємодії користувача і системи й продумувати оптимальні рішення
- Налаштовувати графічний контент сайту, іконки та анімацію
- Підвищувати функціональність сайту за допомогою нових розроблених елементів
Особливості курсу
- Викладачі практики
- Корпоративне навчання
- Можливість навчатись у вихідні
- Можливість влаштуватис у провідні IT-компанії
- Індивідуальне навчання
- Web & Mobile Design / UI/UX
Курси Web дизайну являють собою програму навчання комплексного типу, яка спрямована на детальне вивчення Web-дизайну з початкового рівня. Заняття включають не тільки теоретичну, але й практичну частину для закріплення матеріалу.
Програма курсу
На практичних заняттях студенти курсу:
- вчаться приймати краще рішення з можливих
- працюють з різними інструментами і платформами
- продумують кілька цікавих альтернативних варіантів реалізації дизайну
- створюють макети з привабливим зовнішнім виглядом і продуманою конструкцією
- прототипіюють, роблять начерки ідей в паперовому форматі
- вчаться вигідно презентувати клієнтам свої напрацювання
- закладають ази для успішної побудови комунікаційних зв'язків з розробниками, які безпосередньо займаються впровадженням дизайнерської ідеї
Курси передбачають отримання початківцями досвіду в графічному редакторі Фігма. Це інноваційна платформа, яка характеризується зручністю роботи з макетами. На стандартних курсах про неї мало де і коли згадують, і це є великим упущенням. Крім Фігми, наші студенти зможуть засвоїти основи анімаційного, графічного мистецтва, науки про колір, оформлення тексту. Важливим моментом є те, що студенти працюють над реальними, а не вигаданими проєктами, в основі яких ідеї замовників. По закінченню курсу кожен студент матиме два готові проєкти, які зможе в майбутньому презентувати в своєму портфоліо. Також, курс передбачає допомогу HR-менеджерів в підготовці новоспечених дизайнерів до співбесіди і формування резюме.
Випускники курсу:
- знають базові принципи дизайну з боку психологічних і технічних аспектів
- розмовляють із замовником на одній мові, ставлять перед собою бізнес-завдання та досконало володіють аналізом бізнес-процесів
- відрізняють вдалий дизайн від невдалого, наводять аргументовані пояснення даному факту
- працюють над створенням нових ідей та концепцій дизайн-рішень
- розробляють дизайн додатків для телефонів, landing page, адміністративних панелей
- однаково легко і продуктивно працюють в Фігма та інших редакторах
Особливості курсу
- Викладачі практики
- Корпоративне навчання
- Можливість навчатись у вихідні
- Можливість влаштуватись у провідні IT-компанії
- Індивідуальне навчання
- 2D Artist / 2D Illustrator / Graphic Designer
- Web & Mobile Design / UI/UX
На курсах ви навчитеся працювати в редакторах векторної та растрової графіки, які використовуються дизайнерами в усьому світі. Створення макетів і ілюстрацій з нуля, ретуш та колажування зображень, підготовка дизайну веб-сторінки до верстки - всі ці навички можна придбати під час практичного курсу від Навчального Центру.
Програма курсу
Adobe Photoshop як інструмент дизайнера
- Введення в Adobe Photoshop: як створити, змінити та зберегти файл. Формати документів. Внесення змін до готового макета
- Відмінності між растровою та векторною графікою. Поняття векторної графіки й області її застосування
- Як визначити колірний режим документа. Відмінності між різними видами колірних моделей
- Як налаштувати інтерфейс програми
- Параметри зображення, створення і зміна зображення
- Що таке шар, як з ним працювати. Види шарів і способи їх створення
- Палітра Layers для роботи з шарами
- Багатошарові зображення
- Як трансформувати шар або його вміст, згрупувати, зв'язати або злити шари
- Стилі шару і їх застосування для створення візуальних ефектів
- Інструменти виділення і меню Select
- Налаштування параметрів виділення
- Форма виділення та операції з нею. Як доповнити область виділення, відняти від неї або виконати перетин двох областей
- Кордон виділення і розтушування
- М'який і жорсткий край виділеної області за допомогою інструмента "Уточнити край"
- Область виділення та операції з нею: поворот і масштабування, переміщення, спотворення, дублювання
- Інструменти та методи корекції. Як підготувати роботу до корекції
- Базові інструменти кольорокорекції - тонова, колірна, швидка корекція
- Швидке перетворення в чорно-біле зображення за допомогою коригувальних шарів
- Коригувальні шари та неруйнівна корекція
- Фоторетуш
- Ретуш портретних фотографій: етапи
- Інструменти Healing Brush, Clone Stamp, Spot Healing Brush для чищення шкіри й відновлення текстури
- Вибіркова корекція кольору - відтінок очей, волосся, відбілювання зубів. Інструменти зміни насиченості, затемнення й освітлення
- Домальовування зображення на прикладі волосся
- Корекція фігури й рис обличчя із застосуванням фільтра Liquify
- Інструмент History Brush і способи його застосування
- Інструменти для роботи з текстом і текстові шари
- Як створити й трансформувати напис. Текстові стилі й ефекти - лід, вода, вогонь за допомогою стилів шару
- Встановлення стилів тексту і зміна параметрів, імітація металевого напису
- Параграф. Відстань між рядками, відстань між буквами, вирівнювання тексту
- Що таке mock-up і як з ним працювати
- Що таке Smart Filters і області їх застосування
- Графіка для сайту і соцмереж
- Формат зображень
- Як зберегти дизайн для веб
- Інструменти анімації в Photoshop. Шкала часу
Adobe Illustrator як інструмент дизайнера
- Меню і головне вікно Adobe Illustrator. Палітри й налаштування робочої області
- Як створити, відкрити, зберегти документ. Відновлення документів. Вибір шаблону і налаштування параметрів нового документа
- Інструменти навігації й масштабування документа. Режим перегляду
- Як скасувати або повторити попередні дії в програмі
- Об'єкти та дії з ними - створення, трансформація, зміна розміру, поворот
- Прості фігури: створення кола, еліпса, зірки, прямокутника, багатокутної фігури, спіралі, сітки й дуги
- Як виділити об'єкт за допомогою панелі інструментів
- Трансформація і переходи. Налаштування переходу по траєкторії і його параметри
- Маніпулювання об'єктами - переміщення по монтажній області та між документами
- Сортування об'єктів по групах. Виділення, блокування і розблокування об'єктів
- Щоб скопіювати та вставити нові об'єкти, компонування і комбінування
- Як налаштувати видимість об'єкта, видалити об'єкт. Вирівнювання
- Підготовка графіки для розміщення на сайті
- Підготовка макета до верстки в Adobe Illustrator
- Додаткові інструменти Adobe Illustrator
- Інструменти малювання
- Інструменти вирівнювання. Лінійки, напрямні
- Налаштування шкали вимірювання
- Як створити, заблокувати, видалити напрямні
- Використання розумних напрямних, використання об'єкта як напрямної
- Контур: створення, редагування, виділення. Опорні точки і їх редагування. Редагування кривих Безьє
- Параметри контуру. Зменшення кількості опорних точок
- Малювання ліній за допомогою інструменту
- Шари та маски. Створення шарів. Блокування частини зображення із застосуванням шарів. Робота в палітрі Layers
- Маска і група маскування. Як створити й скасувати маску в палітрі Layers. Різні види масок. Редагування масок. Маска непрозорості
- Створення і редагування тексту в Adobe Illustrator. Атрибути шрифту. Палітри для роботи з написами та текстовими блоками
- Як зробити імпорт тексту в програму
- Трансформування тексту і його елементів
- Траєкторія розміщення тексту. Редагування траєкторії
- Текстові символи та перетворення тексту в криві
- Художні ефекти з текстом - світіння, тіні й неоновий ефект
- Застосування фільтрів в Adobe Illustrator
- Фільтри та ефекти. Растрові ефекти
- Як редагувати растрові зображення в Adobe Illustrator. Операції з зображенням. Як розмістити растрове зображення в програмі і які особливості потрібно знати для роботи з ним. Трансформація і спотворення
- Як перетворити растрову графіку на векторну. Як перетворити векторну графіку на растрову
- Особливості роботи в палітрі Links
- Як виконати кадрування растрової картинки або фото
- Як підготувати зображення для розміщення в мережі
- Експорт файлів в Adobe Illustrator і формати для збереження. Вікно Save for Web і його параметри
- Як підготувати макет для друку
- Що таке внутрішні відступи та вильоти. Як перевіряти кольори перед друком. Офсетний і цифровий друк. Композитний чорний
- Вимоги до файлу від друкарні. Як співпрацювати з друкарем
- Передача файлу. Як підготувати макет до відправлення
Професійна діяльність дизайнера
- Як побудувати кар'єру дизайнера: перші кроки
- Створення портфоліо
- Покращення швидкості і якості роботи
- Різні стилі дизайну
- Ресурси й корисні сайти для дизайнера
- Як працювати зі стоками й не порушувати авторські права
Програма Figma для дизайнера
- Головне вікно та елементи меню Figma
- Інструменти для створення графіки
- Шари, маски шару
- Створення, збереження, видалення документа в Figma
- Інструменти створення графіки
- Шари та маски
- Створення нового документа і налаштування параметрів, збереження, видалення
- Допоміжні інструменти й плагіни. Встановлення і застосування сторонніх плагінів
Випускники курсу можуть:
- Здійснювати фотокорекцію в Adobe Photoshop
- Впевнено використовувати дизайнерські програми Figma, Adobe Illustrator
- Готувати макети до верстки та друку
Особливості курсу
- Викладачі практики
- Корпоративне навчання
- Можливість навчатись у вихідні
- Можливість влаштуватись у провідні IT-компанії
- Індивідуальне навчання
- Other
Наш курс розповість і навчить вас найголовнішого. У результаті ви дізнаєтеся базові поняття та алгоритми роботи, які підходять абсолютно до всіх мов програмування. Адже будь-яка програма будується з базових алгоритмічних структур, а стандартні алгоритми служать фундаментом для вирішення багатьох завдань.
Програма курсу
Модуль 1
- Введення до базового визначення
- Вивчення завдання і його вирішення
- Що таке алгоритм?
- Визначення головних властивостей алгоритмів
- Введення в програмне забезпечення
- Ознайомлення з поняттями "інформатика", "інформація"
- Вивчення інформаційних технологій
- Проходження теми "дані"
- Арифметичні цифри. Вивчення законів арифметики
- Введення в поняття "конструктори", "операнд", "ідентифікатори"
- Вивчення законів операції
- Вирази
Модуль 2
- Огляд даних, основні принципи програмного управління
- Вивчення алгебри логіки
- Введення в поняття "тип даних"
- Ознайомлення з усіма системами обчислення
- Кодові таблиці
- Вивчення інформації символів
- Основні зв'язки з системами обчислення
- Ознайомлення з масштабами представлення чисел у двійковій системі обчислення
- Що таке двійкові числа арифметики?
- Пам'ять ЕОМ
- Вивчення чисел у пам'яті електронних обчислювальних машин
- Введення в основні принципи програмного управління
- ЗП
- Місткості та одиниці їх вимірювання
- Ознайомлення з архітектурою комп'ютера
Модуль 3
- Вивчення методів і розповідь про мови програмування
- Вивчення чинних стадій розробки програм
- Ознайомлення з мовами програмування
- Огляд проблем програмування
- Навчання етапам розробки програм
- Класифікація мов програмування
- Вивчення реалізації та проєктування
- Що таке ООП?
- Які існують методи програмування?
- Вивчення ООП
- Вивчення класифікацій методів програмування
- Огляд на базові принципи
- Введення в структурне програмування
Модуль 4
- Робота зі структурами даних
- Введення до базових структур даних
- Навчання мережевим БД
- Огляд на головні операції зі структурами даних
- Введення в поняття "стіки", "дерева" і "списки"
- Розподілені БД
- Робота з системами управління БД
- Динамічні структури даних
- Вивчення поняття стосунки та база даних
- Огляд інформаційної системи
- Нормалізація
- Ознайомлення з усіма можливими вимогами користувачів до БД
- Реляційні БД
- Як проєктувати бази даних?
- Логічний і концептуальний аспект
- ER-модель
- Моделі даних (плюси та мінуси)
Модуль 5
- Практична робота №1 "Написання програм"
- Форматний ввід і вивід даних
- Мова програмування С
- Кодування
- Робота над редагуванням зв'язків та структурою програм
- Оголошення
- Виконання програм у консолі комп'ютера
- Вирази
Модуль 6
- Практична робота № 2 "Управління структурами кодування"
- Слідування
- Повторення
- Цикли з передумовою та постумовою
- Логічні операції
- Умовні вирази в мові програмування С
- Програмування "якщо-то"
- Дії стосунку
- Умовний перехід "if-then-else"
Модуль 7
- Практична робота № 3 "Проєктування та реалізація БД"
- Проєктування БД
- Сутності та їхні атрибути
- З'єднання таблиць
- Огляд та аналіз предметної області
- Нормалізація
- Робота над універсальним ставленням
- Реалізація БД Microsoft Access
- Робочий простір. Його структура
- Звіти
- Формування всіх запитів
- Робота з таблицями
Модуль 8
- Практична робота № 4 "Мова програмування SQL"
- Введення в мову програмування SQL
- Побудова кількох таблиць в якості однієї
- На прикладі програми Microsoft Query створювати запити до БД
- Пропозиція WHERE
- Робота над створенням найпростішого запиту
Чого ви навчитеся після проходження курсу:
- За допомогою базових нотацій, описувати алгоритмічні та програмні схеми
- Конструювати та реалізовувати легкі бази даних за допомогою Microsoft Access
- Користуватися основними системами обчислення. Виконувати операції над числами та здійснювати їх перетворення
Особливості курсу
- Викладачі практики
- Корпоративне навчання
- Можливість влаштуватись у провідні IT-компанії
- Можливість навчатись у вихідні
- Індивідуальне навчання
Викладачі курсу
- Володимир - Програміст
- Ігор - Програміст
- Володимир - Програміст
- Олексій - Програміст
- Other
Програма курсу
Модуль 1
- Основні положення
- Розбір видів і всіх доступних характеристик програм
- Навчання видам передачі даних в пам'ять
- Що таке машинна логіка і як її правильно застосовувати до завдань пошуку даних
- Оператор присвоювання
- Огляд на ефективність коду
- Робота з перетворенням типів
- Навчання правильної оцінки часу роботи алгоритму
- Значення змінних
- Робота з посиланнями та покажчиками
- Що таке адресний простір?
- Вивчення основних причин витоку пам'яті
- Робота зі спільними угодами іменувань
- Змінна
Модуль 2
- Структури програм
- Вивчення плану роботи із завданнями на обробку послідовностей даних
- Як складати блок-схеми? Практичні приклади складання
- Навчання основним блокам коду - функціям
- Радник псевдокоду
- Робота над переведенням алгоритму в код
- Вирішення найпростіших алгоритмічних завдань
Модуль 3
- Вивчення складних алгоритмічних конструкцій
- Що таке масив?
- Введення в поняття "список", "дерево", "стек", і "черга"
- Вивчення типових завдань з масивами та обробкою тексту
- Текстова інформація
Модуль 4
- Практика
- Динамічний стек і його реалізація
- Завдання про управління масивом
- Сортування
- Завдання з пошуку елемента в масиві
Після навчання ви зможете:
- Робити працездатні коди
- Без зусиль вирішувати завдання на логіку та бізнес-логіку
- Створювати власні алгоритми
- Вирішувати розповсюджуванні завдання
Особливості курсу
- Викладачі практики
- Корпоративне навчання
- Можливість навчатись у вихідні
- Можливість влаштуватись у провідні IT-компанії
- Індивідуальне навчання
Викладачі курсу
- Володимир - Програміст
- Ігор - Програміст
- Володимир - Програміст
- Олексій - Програміст
- Golang
Курс передбачає навчання студентів мові програмування Golang Programming, її основам. Він націлений на присутність мінімальної попередньої підготовки у аудиторії, дозволяє закласти хорошу базу, вивчити ідіоми, а також на практиці розібрати найпоширеніші помилки фахівців даної сфери. Освітня програма включає як теоретичну, так і практичну частину навчання.
Програма курсу
Модуль 1. Введення в курс
- Що являє собою Golang Programming?
- Історія створення
- Основні переваги даної мови над іншими
- Ефективне вирішення завдань за допомогою Golang Programming
- Чому сучасна Golang Programming користується попитом?
Модуль 2. Основи Git (розподілена система керування версіями)
Модуль 3. Специфіка налаштування середовища Golang Programming:
- Встановлення мови програмування
- Впровадження додаткового інструментарію з метою підвищення ефективності функціонування Go
- Огляд основних утиліт для продуктивної роботи з Go
- Visual Studio Code як приклад для оперативного налаштування середовища
- Як створити простий Web Server на Go за обмежену кількість часу?
Модуль 4. Основи програмування
- Знайомство з типами даних, покажчиками, константами, змінними
- Як імпортувати дані?
- Що таке пакети, область видимості?
Модуль 5. Основні операції з Goland Programming:
- Специфіка операцій інкремент і декремент
- Особливості арифметичних і логічних операцій
- Суть порозрядних операцій та застосування їх в Golang Programming
Модуль 6. Control flow - управління програмою:
- Особливості використання оператора switch
- Суть застосування оператора if
- Оператор циклу for і його специфіка
Модуль 7. Що мають на увазі під собою складові типи даних?
- Array (масиви)
- Slice (тип зрізу)
- Range
- Тип map
- Структури
Модуль 8. Функції в програмуванні
- Базові поняття функцій
- Визначення функції
- Особливості передачі параметрів у функцію
- Багаточисельне повернення значень з функції
- Функції зі змінним числом параметрів: специфіка застосування
- Що таке рекурсія та коли слід її застосовувати?
- Робота з файлами
Модуль 9. Популярні збої, помилки в програмуванні та їх обробка
- Повернення помилки з функції
- Застосування Deferred функції
- Переваги Panic і Recover
Модуль 10. Мова програмування Golang Programming і додаткові її можливості
- Методика програмування
- Реалізація поліморфізму за допомогою інтерфейсів
- Пакети, рефлексія, а також низькорівневе програмування
Особливості курсу
- Викладачі практики
- Корпоративне навчання
- Можливість навчатись у вихідні
- Можливість влаштуватись у провідні IT-компанії
- Індивідуальне навчання
Викладачі курсу
- Володимир - Програміст
- Ігор - Програміст
- Володимир - Програміст
- Олексій - Програміст
- React
На цьому курсі будуть детально розглянуті питання, що стосуються хмарних сервісів, обробки інформації офлайн, запам'ятовування паролів, застосування анімації в React Native і роботи push-повідомлень на мобільних пристроях. Ви опануєте нові методи створення додатків для мобільних пристроїв на Android і iOS, навчитеся використовувати інструменти консолі розробника Facebook.
Програма курсу
Теми:
- Як використовувати анімацію в React-додатках
- Модуль і система анімації в додатку на React
- Компонент ReactTransitionGroup для створення анімації
- Взаємодія різних компонентів для створення анімації
- Прості анімації меню за допомогою CSS-методів
- Анімація руху кола
- Анімація карток
- Як використовувати різні анімаційні стилі
- Як перетягувати картки
- Як відбувається обробка жестів в додатку
- Як налаштувати систему відгуків на жести
- Як реалізувати обробку екранних подій
- Створення об'єкта "Жест"
- Як повернути елементи й інтерполювати значення
- Налаштування свайпа: як визначити мінімальну дистанцію
- Функція зворотного виклику callback на свайп
- Як реалізувати одноразову авторизацію із застосуванням пароля
- Процес авторизації в додатку
- Огляд одноразового пароля
- Google Cloud Functions або звичайний сервіс
- Додавання проекту Firebase в додаток Android
- Відправлення запиту та обробка відповіді
- Як відбувається логування Facebook
- Аутентифікація в Facebook: етапи
- Як проводити налаштування і працювати в консолі розробника Facebook
- Налаштування бібліотеки Redux для створення додатків
- Система асинхронного зберігання даних
- Обробка інформації в offline-режимі
- Як зберегти й налаштувати стан додатка
- Як реалізується зберігання даних в Redux
- Push-повідомлення: реєстрація
- Push-повідомлення: огляд
- Як зберігаються дані Push-повідомлень
- Як генеруються Push-повідомлення
- Як відбувається тестування програми
- Налаштування елемента MapViews в React Native
Попередні вимоги
- Програму базового курсу React Native
- Основи роботи з системою контролю версій
- Знання JavaScript і CSS
Що можуть випускники курсу:
- Використовувати анімаційні вставки та переходи в додатках, роблячи їх більш динамічними
- Застосовувати компоненти MapView для визначення місця розташування користувачів
- Проводити налаштування кросплатформних push-сповіщень в призначених для користувача програмах
- На практиці застосовувати просунуті функції фреймворка React Native, щоб робити програми складнішими й функціональнішими
Особливості курсу
- Викладачі практики
- Корпоративне навчання
- Можливість навчатись у вихідні
- Можливість влаштуватись у провідні IT-компанії
- Індивідуальне навчання
- Angular
Базовий курс від Навчального Центру розроблений для фахівців даної області й розглядає компоненти, особливості, можливості та переваги Angular на прикладі створення односторінкового SPA-додатка.
Програма курсу
Теми:
- Клієнтський фреймворк Angular: вступ
- Перше знайомство з Angular
- Angular: переваги та сфери застосування
- Знайомство з основними можливостями та унікальними особливостями Angular
- Мова програмування TypeScript
- Екскурс в історію Angular і особливості оновленої версії
- Як запустити перший додаток, написаний за допомогою Angular 8
- Особливості структури фреймворку Angular 8
- Основні модулі і їх функціонал
- Розробка додатків з використанням QuickStart
- Фреймворк Angular: основи роботи
- Введення в TSLint для роботи з TypeScript
- Практична робота над проєктом: створення інтерактивної односторінкової гри
- Робота з командним рядком CLI
- Як провести ініціалізацію проєкту
- Компоненти Angular: створення і робота
- Створення та оптимізація білдів Angular
- Шаблонізація і види шаблонів в Angular
- Архітектура Angular: директиви Directive, компоненти Component, фільтри Pipes
- Робота зі структурою DOM в Angular
- Використання компонентів Angular без додатка за допомогою Angular Elements
- Створення компонента Angular Elements
- Вбудовані декоратори Angular
- Сервіси та класи для роботи з даними в Angular
- Як здійснити зберігання і прив'язку даних в Angular
- Як працювати з формами Angular
- Взаємодія компонентів в Angular
- Додаток на Angular 8: життєвий цикл
- Методи OnDestroy й OnInit: детальний розгляд
- Властивості й методи компонентів. Спадкування, инкапсулювання
- Виклик конструктора компонентів програми
- Роутінг односторінкового додатка SPA в Angular
- Як створити модуль роутера для додатків
- Директива Router Outlet: знайомство
- Робота з роутером: директиви
- Параметри URL: налаштування
- Створення вкладених роутів
- Що таке HTTP і як з ним працювати
- HttpClient API - детальний розгляд модуля
- HTTP-запити: методи та інтерфейс для роботи з ними
- Як використовувати Promises для створення запитів до сервера
- Об'єкт Observable: введення
Попередні вимоги до учасника
- Основи роботи з системою контролю версій
- Знання JavaScript і CSS
Випускники курсу можуть:
- Створювати форми, здійснювати перевірку і роботу над помилками
- Розробляти односторінкові веб-додатки із застосуванням фреймворків
- Створювати власні директиви й працювати зі вбудованими
- Розробляти проєкти з використанням command line interface (CLI)
- Розуміти та використовувати двостороннє зв'язування даних
- Знають переваги використання фреймворків для розробки додатків
Особливості курсу
- Викладачі практики
- Корпоративне навчання
- Можливість навчатись у вихідні
- Можливість влаштуватись у провідні IT-компанії
- Індивідуальне навчання
- React
Програма курсу
React Native: вступ
- Структура курсу
- Технологія React: короткий огляд
- Технологія React Native: короткий огляд
Розробка мобільних додатків
- Компонент WebView
- Що називають нативними або гібридними додатками
- Як налаштувати оточення Mac, Linux і Windows
React Native: початок роботи
- Налаштування робочого середовища і можливі проблеми
- Структура проєкту React Native
- Створення першого додатку "Hello, World!"
- Як використовувати компоненти JSX в React Native
- Точка входу двох платформ з єдиним компонентом
- React і React Native - взаємозамінність, відмінності й застосування
- Стилізація компонентів React програми
- Стилі в React Native - створення та застосування
- Що таке FlexBox, його переваги
- Як створити стилізований компонент
- Як використовувати стилі та компоненти повторно
- Як отримати віддалені дані
- Протокол HTTP - основні аспекти
- Використання шаблонів React Native. Компонент "Список"
- Де використовуються клас-орієнтовані компоненти
- Життєвий цикл компонента і його методи
- Зміна стану компонентів
- Робота з даними в React Native
- Список компонентів - візуалізація
- Багаторазове використання компонентів. Компонент "Картка" та його стилізація
- Як передати компоненти в властивості
Віртуальні компоненти програми
- Скрол-контент
- Кнопки. Стилізація кнопок
- Робота з вкладками
- Шари
- Картинки
- Оброблювач подій
- Оброблювач помилок
- Оброблювач подій авторизації
- Логін
- Як створити прелоадер, анімацію завантаження
- Як працювати з формами
- Умовний рендеринг JSX
- Інструмент управління станом Redux
Функціональне програмування
- Архітектурний підхід Flux
- Менеджер станів Redux: основи роботи
- Використання технології Header Bidding для створення додатків
- Шаблони проектування в React
- Як виконати стилізацію списків
- Створення списку ListView
- Як здійснити швидкий рендеринг одного рядка в React
- Використання функції Reducer
- Перенесення логіки компонента
- Застосування анімації в React
- Елементи з реакцією на торкання і підтримка подій торкання в React
- Основи тестування
- Робота з даними в React і в Redux
- Як зробити форму авторизації в Redux
- Як створити профіль користувача
- Як відбувається оновлення форм авторизації
- Поняття Immutable State або незмінності стану
- Поняття синхронної та асинхронної дії
- Бібліотека Redux Thunk: вступ
- Як реалізувати навігацію в додатку
Попередні вимоги
- Основи роботи з системою контролю версій
- Знання JavaScript і CSS
- Бажано мати досвід використання інших JavaScript-фреймворків, таких як ECMAScript або Babel.js
Після курсу ти зможеш:
- Використовувати основні функції React Native для розробки простих додатків
- Застосовувати візуальні компоненти та віддалені дані
- Налаштовувати елементи програми, виконувати їх стилізацію
- Застосовувати Redux і Flux при створенні додатків на React
Особливості курсу
- Викладачі практики
- Корпоративне навчання
- Можливість навчатись у вихідні
- Можливість влаштуватись у провідні IT-компанії
- Індивідуальне навчання
- Node.js
Слухачі курсу ознайомляться з етапами створення додатка, створенням додатків RTA або real-time applications, масштабуванням і розгортанням готового додатка на Node.js.
Програма курсу
Теми:
- Node.js і його роль в сучасній веб-розробці. Огляд наявних технологій
- Перший додаток на Node.js - виведення "Hello world"
- Основні поняття Node.js core
- Цикл Event loop для виконання неблокованих операцій введення-виведення
- Глобальні об'єкти (global), доступні в будь-якому місці програми, та їх застосування в Node.js
- Паралельні програми та fork процесів в Node.js
- Функції модуля Timers
- Клас Buffer
- Об'єкт EventEmitter і робота з подіями в Node.js
- Встановлення модулів і робота з пакетним менеджером NPM
- Асинхронне програмування і багатопоточність в Node.js
- Файли та робота з ними в Node.js
- Робота з web-сокетами та використання бібліотеки socket.io
- Комп'ютерні мережі, сервери й протоколи. HTTPS, HTTP, TCP
- Управління асинхронним потоком з використанням модуля async
- Бази даних в Node.js і система Mongo.db
- Робота з шаблонізатором в Node.js: EJS, Jade, Mustache
- Веб-фреймворки і їх застосування для Node.js
- Фреймворк Express в управлінні серверами й маршрутами
- Розробка RESTFul app із застосуванням Express
- Шаблон проектування MVC (Model, View, Controller) для Node.js
- Як тестувати код на Node.js
- Проведення unit-тестування коду
- Методології TDD (test-driven development) і BDD (behavior-driven development)
- Підсумки навчання. Подальша робота з Node.js
Попередні вимоги
- Основи роботи з системою контролю версій
- Знання JavaScript, HTML і CSS
- Практичні навички в інтегрованому середовищі розробки IDE
Випускники курсу зможуть
- Застосовувати фреймворк express.js для створення веб-сервісів
- Розділяти код і оформляти інтерфейс проєкту з використанням шаблонізатора
- Використовувати Node.js для створення додатків
- Застосовувати бібліотеку socket.io і технологію веб-сокетів для створення програмного забезпечення real-time
- Використовувати архітектуру REST при створенні додатків
Особливості курсу
- Викладачі практики
- Корпоративне навчання
- Можливість навчатись у вихідні
- Можливість влаштуватись у провідні IT-компанії
- Індивідуальне навчання
- SQL / DBA
На заняттях студенти отримають розуміння архітектури бази даних, її логічної та фізичної структури. Як взаємодіють компоненти бази даних, як провести відновлення даних і коректне збереження.
Програма курсу
Компанія Oracle - розробки та можливості
- Продукти та технології компанії Oracle
- Послуги Oracle
- Історія компанії та короткі відомості про програму
- Інфраструктура і потенціал технології Grid на базі Oracle
СУБД - теорія та основні концепції
- Загальна характеристика СУБД і її параметри
- Можливості та сфери застосування Oracle
- Опції та налаштування Oracle
- Багатокористувальницька система бази даних
- Резервування і відновлення даних
- Захист даних в СУБД Oracle
Oracle - архітектура баз даних
- Фундаментальна структура Oracle
- Як відбувається зберігання даних в базі
- Основні процеси, дії з даними в базі
- Що таке екземпляр бази даних (Database Instance)
- Структури пам'яті СУБД
- System Global Area (SGA) - глобальна колективна пам'ять
- Program Global Area (PGA) - глобальний програмний простір
- Структурні компоненти бази даних Oracle
- Логічна структура бази даних - табличний простір, блоки, сегменти, екстенти
- Фізична структура бази даних - файли даних табличних просторів
- Підмножини об'єктів БД: таблиці
- Табличні простори SYSTEM і SYSAUX для коректного функціонування системи
- Додаткові табличні простори для зберігання даних
Області застосування СУБД Oracle і характеристика версії
- Вимоги до системи для Oracle 11g
- Адміністрування компонентів бази даних Oracle
- Інструменти конфігурації в Oracle 11g
- Оновлення баз даних за допомогою My Oracle Support
- Практичне завдання - встановлення версії Oracle 11g на свій комп'ютер
Як створити нову базу даних Oracle
- Створення бази даних - необхідні компоненти програми
- Встановлення за допомогою Oracle Universal Installer (OUI)
- Майстер-установник DBCA (Database Configuration Assistant) - функції та можливості
- Планування робіт зі створення бази даних
- Робота зі створеної базою даних в Enterprise Manager
- Види файлів в базі даних - файли даних, параметрів, паролів, архівні та оперативні журнали
- Як налаштовувати змінні оточення
- Як видалити базу даних
- Практична робота - встановлення навчальної бази даних за допомогою майстра-установника
Дії з екземпляром Oracle
- Підключення до примірника бази даних і ініціалізація
- Параметри ініціалізації для призначення імен об'єктам
- Параметри ініціалізації, що встановлюють ліміт для ресурсів і процесів
- Змінні параметри, що впливають на обсяг
- Як запустити або зупинити базу даних
- Режими запуску бази даних: NOMOUNT, MOUNT і OPEN
- Режими зупинки бази даних: NORMAL, IMMEDIATE, TRANSACTIONAL, ABORT
- Властивості й застосування файлів трасування в Oracle
- Управління та перегляд файлів трасувань
- Журнал сповіщень alert.log для діагностики Oracle
- Enterprise Manager для управління примірником БД Oracle
- Адміністрування бази даних - встановлення ПЗ SQL Developer, конфігурація. Практичний модуль
Як налаштувати мережеву середу Oracle 11g
- Інструменти конфігурації середовища
- Менеджер мережі Oracle і графічний інтерфейс користувача (GUI)
- Асистент зміни мережі Oracle
- Прослуховувач LISTENER
- З'єднання зі службою прослуховувача
- Налаштування Enterprise Manager
- Робота з командним рядком
- Команда tnsping для перевірки з'єднання
- Мережеві компоненти Oracle - які бувають, застосування
- Управління з'єднанням баз даних
- Практичне заняття - налаштування мережевого середовища
Особливості курсу
- Викладачі практики
- Корпоративне навчання
- Можливість навчатись у вихідні
- Можливість влаштуватись у провідні IT-компанії
- Індивідуальне навчання
- React
Програма курсу
Теми:
- Патерни програмування при роботі з фреймворком
- Що собою являє екосистема React
- У чому полягають відмінності імперативного та декларативного стилей програмування
- Фреймворки JavaScript - переваги
- Компоненти props/state - відмінності, особливості застосування
- JSX - поєднання HTML і JavaScript. Переваги та практичне застосування
- Браузерні події й React.js
- React Router - маршрутизатор із застосуванням JSX
- Створення форм і керування ними
- Етапи життєвого циклу компонентів
- Технологія AJAX (Asynchronous Javascript and XML) - обмін даними з сервером у фоновому режимі
- Доступ до API за допомогою axios
- Як застосовувати NPM, Webpack, Babel і інші інструменти для налаштування React-компонентів
- Передача багаторазових компонентів Reusable Components в Redux-Form
- Управління станом додатку за допомогою Redux
- Асинхронні операції й Promises
- Розгортання додатку або деплой - етапи
- Динамічний рендеринг й індексування JavaScript-коду
Попередні вимоги
Щоб бути зарахованим на програму студент повинен володіти мінімально необхідними знаннями та навичками. Серед них: JavaScript, CSS, HTML. Також перед заняттями необхідно ознайомитися з системою контролю версій. Навчання проходить ефективніше, якщо студент вже має досвід роботи з іншими фреймворками, як наприклад, ECMAScript 6, Babel.js.
Після курсу випускники знають і вміють:
- Побудувати додаток, сайт, лендінг, використовуючи бібліотеку React.js
- Застосовувати інструменти JSX і Virtual DOM для створення інтерактивних додатків
- Створити самостійно SPA-додаток з нуля й адаптувати його під різні пристрої
- Використовувати бібліотеку React.js в командній роботі з декількома розробниками
Особливості курсу
- Викладачі практики
- Корпоративне навчання
- Можливість навчатись у вихідні
- Можливість влаштуватись у провідні IT-компанії
- Індивідуальне навчання
- Other
Курс Software Engineering побудований таким чином, що студенти розглядають п'ять складових процесу роботи, щоб отримати повне уявлення про процес розробки ПО. Continuous Integration, Testing, Delivery, Deployment і Operation.
Програма курсу
Підготовчий етап
Визначається рівень учнів, вибудовується комунікація з ними. Ознайомлення з планом занять і робота з теорією і методичними матеріалами.
Continuous Integration
- Основні поняття у галузі розробки програмного забезпечення
- Взаємодія розробника з членами команди
- Застосування Git для командної роботи над кодом
- Веб-додаток для управління завданнями Github
- Складання робочого графіка і менеджмент ресурсів
- За допомогою яких інструментів реалізують перевірку якості коду
- Автоматизація та управління завданнями за допомогою Jenkins
- Бранчінг версій для релізу і стабілізація коду
Continuous Testing
- Принципи розробки TDD (test-driven development)
- Як відбувається тестування якості коду із застосуванням SonarQube
- Юніт-тести й покриття коду
- Налаштування профілів воріт якості Quality Gates
- User Story Isolation
- Як визначити уразливості коду
- Відправлення коду в репозиторій
- Мануальне тестування
- Автоматизоване тестування
- E2E - тестування функції в реальних сервісах
- UI - тестування інтерфейсу шляхом імітації дій користувача
Архітектура програмного забезпечення (Software Architecture)
- Зовнішні чинники якості - robustness (стійкість), correctness (коректність), reusability (повторне використання), extendibility (розширюваність)
- Який буває архітектура ПО - Serverless, SOA, Web-Queue-Worker
- Типи архітектури: Standalone, N-tier, SOA, Microservices, Big Data / Big Compute, Serverless, Web-Queue-Worker, Event-driven architecture
- Моделі хмарних сервісів. XaaS, SaaS, IaaS, PaaS
- Збір вимог, постановка задачі estimates, pre-sales, RFI/RFP - запит інформації й запит пропозиції
- Робота з зовнішніми факторами якості
Проєктування програмного забезпечення (Software Design)
- Архітектура ПО і проєктування
- Архітектурне рішення і дизайн інтерфейсу
- Графічне представлення програмного коду
- Розподілене обчислення - теорія та алгоритми
- Polyglot Persistence
- Polyglot Programming
- Що таке парадигми програмування
- Функціональне та логічне програмування
- Процедурне програмування й ООП
- Структура даних
- Компілятор і інтерпретатор
- Відносини між класами в ООП: композиція і декомпозиція, асоціація, успадкування, агрегація
- Загальна структура організації проєкту
- Компонентна модель
- Дизайн-шаблони GRASP, T-diagrams, UML, MVC (MVVM)
- Документація
- CAP-теорема
- RDBMS
- NoSQL
- Graph DB, DB Migration
- Написання мікросервісу для API на мові Java
- Створення мікросервісу для аутентифікації за допомогою Node.js
- Багатопотокове програмування C++
- Алгоритми lock-free
- Angular/Typescript (front-end складова сервісу)
- Groovy для Jenkins DSL
- Підключення Postgresql, MongoDB і Neo4j
- Аутентифікація й авторизація. Контроль доступу RBAC/ABAC
- Message brokering
- Чим відрізняються принципи mobile-first і mobile-only
- Waterfall, RUP, Agile
- Багатопотокове програмування, клієнт-серверні системи, P2P
- Технічний борг, legacy-продукти, рефакторинг
- Кешування
- Multitenancy, аудит, брендинг, GDPR
Програмний інтерфейс додатку API
- Як створюється інтерфейс взаємодії
- Принципи об'єктно-орієнтованого програмування SOLID
- Контрактне програмування - специфікації інтерфейсів
- Що таке ортогональний API
- Стандарти API - GraphQL, RESTful API, OpenAPI
- Впровадження системи API-менеджменту
- Як організувати пагінацію (pagination)
- Rate Limits - обмеження частоти запитів до API для оптимізації роботи додатка
- Огляд ML
Continuous Delivery
- Внутрішня структура розробки ПО
- Сховище артефактів в репозиторії
- Що таке змінні середовища
- NoOps, Opsless
- Технологія Docker. Як використовувати Docker compose, щоб запустити додаток-контейнер
- Swarm
- Kubernetes
- Service Mesh (Istio)
Continuous Deployment
- Середовище розробки: Preview Env, Development Env, Test Env, Production Env
- Ефективність моделі follow-the-sun
- Швидкість розгортання версії ПЗ і вартість розробки
- A/B, Canary, 0-downtime, Blue-Green Deployment - шаблони розгортання
- Rolling updates - плаваючий метод оновлення ПЗ
Continuous Operation
- Технічна підтримка як частина розробки програмного забезпечення
- Обслуговування клієнтів і доопрацювання програми
- Планування розробки з урахуванням завдань SRE
- Лінії підтримки L1, L2, L3 і розв'язання клієнтських проблем
- Угода про рівень обслуговування SRE, SRE, SLI, SLA, SLO
- Відновлення даних і data backup strategy
- Системи моніторингу прогнозування
- Налаштування сповіщень про збої
Хмарні технології
- Хмарні технології як інструмент розробки
- Ключові технології хмарних сервісів
- Огляд основних хмарних платформ, їх архітектура
- Гібридна хмара - що таке і як з ним працювати
- Створення кластера для розгортання програми
- Робота з географічними зонами
- Апаратна і призначена для користувача віртуалізація
- Технології віртуалізації Docker і Kubernetes
Що вміють випускники курсу:
- Використовувати гілки та працювати в Git, знають стандарти зберігання програмного коду
- Ефективно проводити Release Management, керуючи процесом виходу програмного продукту
- Налаштовувати Quality Gates для SonarQube для оцінки якості коду, створювати користувальницькі ворота якості
- Проводити Code Review для підвищення якості коду програмних продуктів
- Формулювати бізнес-вимоги й перетворювати їх в технічне завдання
- Знають всі етапи життєвого циклу ПО і контролюють якість проходження кожного, починаючи з планування системи, закінчуючи її технічною підтримкою
- Уміють відправляти Pull Request, що є необхідною частиною процесу Code Review, і вносити зміни в код
- Знають принципи TDD (test-driven development) і застосовують їх у своїх проєктах
- Проводять налаштування систем (CI/CD), поєднуючи SonarQube, Jenkins, SonarQube, Github і Nexus для безперервної інтеграції
- Створюють фреймворки тестування і знають відмінності між end-to-end і юніт-тестуванням
Особливості курсу
- Викладачі практики
- Корпоративне навчання
- Можливість навчатись у вихідні
- Можливість влаштуватись у провідні IT-компанії
- Індивідуальне навчання
- Fullstack
Програма курсу
Початок і підготовка до навчання
Етап попереднього тестування для проходження програми займає небагато часу і дозволяє визначити рівень знань. Після зарахування на програму учень отримує своє перше завдання і необхідні для підготовки навчальні матеріали про інструменти для створення сайту (Javascript, HTML, CSS).
Клієнтські технології веб-програмування
- Що таке front-end
- Інструменти для створення сайту - HTML, CSS
- Створення сайту з використанням шаблонів
- Створення веб-інтерфейсу: jQuery, Express.js, Node.js, React.js, JavaScript, Redux
- Принцип single page application і адаптивні сайти
Серверні технології веб-програмування
- Написання серверних систем з використанням Java EE
- Фреймворки Spring IoC, Hibernate, Spring Security, Spring Data. Принципи роботи і стандарти. Використання в проєктах
- Робота з базами даних: SQL, NoSql
- Хмарні технології та веб-сервер
- Об'єктно-орієнтоване програмування (ООП) - принципи SOLID, шаблони проектування, розробка через тестування TDD
- Авторизація, аутентифікація, cookies
- Як написати додаток за типом Tinder, Instagram - розбір і практика
- Створення онлайн-магазинів - технології та особливості розробки
- Стилістика коду - чистий код за чинними стандартами IT-індустрії
Алгоритми
Алгоритми - основа програмування, без якої стати професіоналом неможливо. Тому їх проходять в університеті студенти технічних спеціальностей. Цей тематичний розділ необхідний, для засвоєння технологій програмування, в рамках курсу його вивчення відбувається паралельно з Java. Тематичний розділ включає алгоритми й структури даних, масиви, стеки, зв'язкові списки, черги, хешування, графи, дерева алгоритмів, динамічне програмування.
Розвиток soft-skills в рамках підготовки до співбесіди
Soft-skills або гнучкі навички безпосередньо не пов'язані з професійними обов'язками, але їх наявність впливає на конкурентоспроможність і робить кандидата привабливішим для роботодавців. До soft-skills можна віднести пунктуальність, лідерські якості, здатність працювати в команді, знання англійської та інші навички. У цьому розділі курсу заняття включатимуть роботу над внутрішніми якостями, практику технічної англійської, складання резюме та вироблення навичок самопрезентації в умовах, що наближені до реальних. Викладач відтворить атмосферу співбесіди та підготує учня до його успішного проходження.
Презентація проєкту
Весь час навчання студенти будуть працювати над власним проєктом під наглядом наставників. Вони спланують додаток, зроблять його прототип, розроблять демо-версію. Після цього представлять фінальну версію продукту в форматі презентації перед фахівцями з IT-сфери і вислухають їх висновок.
Що знають і вміють випускники курсу:
- Що таке Front-end і Back-end
- Як відбувається розробка веб-додатків і інтерфейсів
- Уміють використовувати серверні та клієнтські технології: Hibernate, Spring IoC, Redux, Spring Security, jQuery, Spring Data, Express.js, Node.js, React.js
- Застосовувати алгоритми та підвищувати швидкодію програми
- Проводити тестування програми і її масштабування
- Як керувати та налаштовувати бази даних, набори
- Як налаштувати систему безпеки на сайті або в додатку
- Проходити співбесіду англійською, розвивати soft-skills, робити ефектну самопрезентацію
Особливості курсу
- Викладачі практики
- Корпоративне навчання
- Можливість навчатись у вихідні
- Можливість влаштуватись у провідні IT-компанії
- Індивідуальне навчання
- Cyber Security
Базовий курс призначений для IT-фахівців з неструктурованими фрагментарними знаннями в області кібербезпеки. Після курсу студент матиме комплексне уявлення про принципи кібербезпеки та зможе на практиці організувати IT-інфраструктуру на своєму підприємстві так, щоб вона була невразливою для кібератаки.
Програма курсу
Вступ. Що таке кібернетична безпека, принципи і основи побудови
- Інформаційна безпека, тріада - цілісність, доступність, конфіденційність
- Як забезпечити захист IT-інфраструктури
- Що таке захищений периметр. Поняття демілітаризації
- Як забезпечити комфортний доступ до інформації при побудові безпечної IT-інфраструктури
- Кінцевий користувач і його роль в збереженні інформаційної безпеки
- Блек-лист і вайт-лист - чим відрізняються, особливості застосування для захисту від злому
- Модель OSI (Open System Interconnection) - взаємодія відкритих систем, рівні та протоколи
- Міжнародні стандарти кібербезпеки, керівні та нормативні документи
- Шкідливе ПО і небезпека при його використанні
- Принцип нульової довіри (zero trust mode) і мережеві стандарти кібербезпеки
- Класифікатори уразливості, базова, тимчасова і контекстна метрика, бази даних
Кібератаки та основні загрози для IT-мережі
- З якими загрозами стикається IT-інфраструктура - пошкодження обладнання, втрата даних після вторгнення зловмисників
- Етапи життєвого циклу кібернетичних атак - вторгнення, розвиток, рекогносцирування, атакуючий вплив
- Поняття кібербезпеки: Vulnerability (вразливість системи), Threat (загроза), Attack (атака)
- Які бувають кібернетичні атаки та погрози
- DDoS-атаки
- MITM
- Sniffing
- Spoofing (Impersonification)
- Reconnaissance
- Malware
- Phishing
- Social engineering
- Injections
Криптографія і кібербезпека
- Які бувають криптографічні системи. Особливості, переваги та недоліки
- Хешування і цілісність даних
- Схема електронного цифрового підпису (ЕЦП)
- Симетричні криптосистеми та шифрування даних - основні методи
- Які механізми використовують в криптографії для узгодження ключів шифрування
- Шифрування даних із застосуванням інфраструктури відкритих ключів (PKI)
- Які протоколи шифрування використовують під час передачі даних
Як організувати захищену віртуальну приватну мережу
- Які бувають віртуальні приватні мережі VPN
- Site-to-Site VPN
- End-to-End VPN
- Remote access VPN
- End-to-End VPN
- Механізми тунелювання - області застосування
- Тунелювання - типи протоколів
- Для чого використовують проксі-сервери
- Типи проксі-серверів
- Проксі сервери та захист від хакерських атак
Аутентифікація та авторизація
- Аутентифікація: методи їх використання. Парольна, біометрична, комбінована та інформаційна аутентифікація
- Однофакторна і багатофакторна аутентифікація
- Двостороння та одностороння аутентифікація
- Статична, стійка і постійна аутентифікація
- Застосування принципу найменших привілеїв для авторизації
- Аналіз подій безпеки, їх збір і обробка
Антивірусне ПЗ
- Централізована політика антивірусного ПО
- Антивірусне ПО і комплексний підхід до захисту від кібератак
- Як виявляється шкідливе ПЗ
- Оновлення антивірусних програм, моніторинг та централізоване управління з використанням ERA server
- Запуск підозрілого ПО в режимі "пісочниця" (sandbox)
- Аналіз ПО із застосуванням VirusTotal
Резервне копіювання даних
- Як створити точку відновлення
- Створення резервних копій - основні відомості та способи застосування
- Оновлення - як правильно їх застосовувати
- Перевірка оновлень перед встановленням
Як посилити безпеку IT-інфраструктури
- Кінцевий користувач і політика безпеки
- Кібербезпека сервера пошти
- Кібербезпека та управління паролями
- Кібербезпека і WiFi-мережі
- Налаштування безпечних MAC-адрес на комутаторі із застосуванням Port Security
- Способи захисту базових мережевих сервісів (NTP, DNS) від DDoS-атак
- Сегментація мережі як інструмент захисту інформації
- Загрози безпеки при використанні політики BYOD (Bring Your Own Device)
- Як запобігти та виявити кібератаки ARP-poisoning
- Захист від ARP-спуфінга за допомогою Dynamic Routing Protection
- Захист роутера і маршрутизатора: настройка ACL-листа, використання Neighbor Discovery
Що знають і вміють випускники курсу:
- Міжнародний досвід в організації інформаційної безпеки, різноманітні підходи до захисту підприємства від кібератак і основних загроз
- Що таке криптографія і як застосовувати її для захисту даних
- Кібератаки і їх види. Застосовують на практиці посібник попередження і знешкоджування атак, використовують протоколи для захисту віртуальних приватних мереж IPsec і SSL
- Розбиратися в основах криптографії, її застосуванні для захисту IT-інфраструктури
- Аутентифікація - які бувають види й методи реалізації, як налаштувати аутентифікацію для централізації управління, як використовувати принцип найменшого допуску
- Використовують антивірусне ПЗ, налаштовують його та аналізують вірусні програми
- Знають методи резервного копіювання, розбираються в його різновидах і використовують знання на практиці при роботі з власним або корпоративним ПО
- Проводити посилення захисту IT-інфраструктури підприємства, починаючи з мережевого обладнання, закінчуючи організацією менеджменту паролів і налаштуванням способу аутентифікації
Попередні вимоги
Щоб записатися на навчання, необхідна базова підготовка, знання основ побудови мереж, навички адміністрування в активному використанні не менше одного року. Бажано мати базове уявлення про механізм передачі інформації в IT-мережі.
Особливості курсу
- Викладачі практики
- Корпоративне навчання
- Можливість навчатись у вихідні
- Можливість влаштуватись у провідні IT-компанії
- Індивідуальне навчання
- Python
- Data Science / Machine learning / AI
Цей курс розрахований на спеціалістів, які мають досвід роботи з подібними технологіями, і хочуть вивчити сучасні методи машинного навчання з використанням технології BigData. Ці методи використовуються під час пошуку прихованих закономірностей, аналізу даних при вирішенні задач прогнозування та класифікації.
Програма курсу
Модуль 1
- Знайомство з машинним навчанням і Data Science
- Задачі машинного навчання і науки про дані
- Аналіз даних за допомогою Python
- Машинне навчання і його типи
- Модель машинного навчання і його компоненти
- Поняття машинного навчання і його цінність
Модуль 2
- Мова програмування Python і її основи
- Інтерпретація і запуск програм
- Особливості мови
- Типізація і структура даних
- Розгалуження і цикли операторів контролю виконання
Модуль 3
- Функціональне програмування
- Суть, генерація, ітерація
- Для чого потрібен Python. Інструментарій і функції
Модуль 4
- Об'єктно-орієнтований підхід до програмування в Python
- Простір імен і сфера їх використання
- Робота з системою імпорту, пакетами і модулями
Модуль 5
- Аналіз даних, їх дослідження та підготовка
- Програмні бібліотеки: Pandas, NumPy, SciPy, Matplotlib, Seaborn
Модуль 6
- Підготовка даних до аналізу: основні проблеми
- Факторні змінні і їх зміни
- Як боротися з проблемами в даних
- Інформативні змінні
- Мультиколлінеарність
- Скаляція даних
Модуль 7
- Основні регресійні моделі
- Види регресії
- Оцінка якості регресії
- Регресивні моделі та їх апгрейд
Модуль 8
- Класифікація
- Логістична регресія: що це таке
- Регресивний аналіз і його методи
- Наївний Байесовський класифікатор
- Функція оцінки якості класифікації
Модуль 9
- Основні моделі зниження розмірності й кластеризації
- Метод кластерного аналізу
- Алгоритм DBSCAN
- Аналіз співпадінь
Модуль 10
- Ансамблі й дерева рішень
- Основні деревоподібні моделі
- Алгоритм машинного навчання Random forest
- Алгоритм Lighthbm і XGBOOST
- Ансамблеві моделі й зміни гіперпараметрів у них
Модуль 11
- Покращення якості машинного навчання
- Аугментація даних
- Конструювання ознак
- Перехресна перевірка
- Як боротися з дисбалансом даних і перенавчанням
Модуль 12
- Нейронні мережі
- Нейромережева бібліотека Keras
- Бібліотека TensorFlow
- Рекурентна нейронна мережа і генеративно-змагальна мережа
Модуль 13
- Робота з Big Data
- Джерело даних
- Пакет pySpark - інструмент для миттєвих кластерних обчислень
Модуль 14
- Покращуємо якість моделей
- Курсовий проєкт і його обговорення
- Підсумки курсу
Результат після проходження курсу
Після закінчення курсу ви зможете будувати системи машинного навчання на основі великого обсягу даних. Для цього в навчальну програму входить і фреймворк Spark.
Особливості курсу
- Викладачі практики
- Корпоративне навчання
- Можливість навчатись у вихідні
- Можливість влаштуватись у провідні IT-компанії
- Індивідуальне навчання
Викладачі курсу
- Володимир - Програміст
- Ігор - Програміст
- Володимир - Програміст
- Олексій - Програміст
- Python
- WEB Developer / Webmaster
Програма курсу
Створення веб-додатків - з чого варто починати
- Протокол HTTP і його особливості
- Інтерфейс WSGI
- Розмітка HTML5
- Розмітка з використанням CSS3
- Об'єктно-орієнтоване середовище Jade
- Набір інструментів Bootstrap
- Django
Реляційна база даних
- Робота з базами даних
- Мова SQL
- Як нормалізувати дані
- Експлуатація ORM
- Механізм інкапсуляції бази даних
Моделі
- Типізація даних полів моделей
- Робота з інтерфейсом адміністратора, підключення і налаштування
- Поля багато-до-багатьох
Робота з пакетними менеджерами й системою контролю версій
Підготовка до створення веб-додатку
- Файли маршрутів і уявлень
- Робота з мовою шаблонів
- Обробка даних
- Прості форми і їх створення
Приховані можливості веб-додатків
- Уявлення-класи
- Моделі та засновані на них форми
- Автентифікація
- Формсети
- Тестування модулів
Налаштування додатків
- Робота з підпрограмним забезпеченням
- Власні теги та фільтри: як створюються
- Сигнали, сесії й повідомлення
- Логування й відправка пошти
- Робота з бібліотеками різних форматів
- Процес конвертування даних в біти
- Робота з зображеннями за допомогою PIL
- Структура на основі mptt
Фронтенд-розробка: що потрібно знати
- Основи JavaScript
- Робота jQuery
- REST-інтерфейс і його впровадження в додаток
Особливості курсу
- Викладачі практики
- Корпоративне навчання
- Можливість навчання у вихідні
- Можливість влаштуватись у провідні IT-компанії
- Індивідуальне навчання
Викладачі курсу
- Володимир - Програміст
- Ігор - Програміст
- Володимир - Програміст
- Олексій - Програміст
- Python
Просунутий курс створений для тих, хто вже знає основи програмування на Python, і хоче покращити свої навички й вміння. Курс також підходить і вже кваліфікованим розробникам. Він дає можливість оволодіти практичними навичками створення програм.
Програма курсу
Функції
- Дані і їх типи
- Реалізація структури даних за допомогою контейнерів
- Контроль виконання за допомогою операторів
- Обробка помилок з використанням try і except
- Розуміння list, dict, set
- Функції й процедури та їх створення
- Рекурсивні функції
- Поняття "functors", "currying"
- Декоратори і їх роль в програмуванні
- Код PEP8
Об'єктно-орієнтований підхід
- Створення екземпляру
- Наслідування, інкапсуляція, поліморфізм в Python
- Область видимості
- Порядок дозволу методів
- Magical methods
- Математичні операції для об'єктів Python
- Визначення операцій порівняння і хеш-функції для Python
- Створення копій екземпляра класу
- Пакування даних в єдиний компонент
Управління екземплярами класів
- Рядкова змінна docstring
- Meta-класи
- Abstract Bases-класи
- Контекстні менеджери в Python
- Декоратори
- Контейнери, створені шляхом наслідування й агрегації
- Доступ до елементів контейнера за допомогою різних методів
- Ітератори й генератори
Об'єктно-орієнтоване програмування і прийоми
- Soft Engineering
- Мова графічного опису UML
- SOLID
- Якість коду
- Шаблони проєктування програмного забезпечення
- Синглтон
- Facade, Interface, Proxy
- Абстрактна фабрика і фабричний метод
- Команда
- Наглядачі
Пакети й модулі
- Запуск моделей
- Імпортна система
- Повторне використання пакетів
- Пакети pip і віртуальне середовище virtualenv
- Setup.py
- Як писати документацію до пакета і модулю
- Файли та робота з ними
- Система контролю версій Git
- Форматування програмних рядків
- Файлова система і робота з нею
- Серіалізація шляхом pickle
- Серіалізація і десеріалізація об'єктів Python
- Серіалізація даних в Json і Хml
Вбудовані пакети
- Робота з datrtime, calendar, collections, heapq, aray, enum
- Робота з числовими даними contextlib, functools
- Вхід
- Модуль Unittest
Мережа
- Основи роботи Sockets
- HTTP, HTML, XML
- Багатопоточність
- Синхронізація потоків за допомогою GIL
- Створення потоків
- Контроль доступу до ресурсів
- Потоки і їх синхронізація
- Створюємо потоки за допомогою пакету concurent
Процеси в мові програмування
- Multiprocessing
- Послідовність задач
Асинхронне програмування
- Фреймворк Twisted
- Aiohttp - асинхронний фрейморк
- Scary - помічник в збиранні даних
SQL і його основи
- Реляційні бази даних і їх основи
- ER-діаграми
- Робота з SQLite, Postgre SQL
- Операція Join
- Функціонал SQL
- Вкладені запити
- Об'єктно-реляційне відображення
Основи роботи з SQLalchemy, механізм сесії, створення бази даних
- Міграція баз даних за допомогою Alembic
- CAP теорія
Типи NoSQL баз даних
- Робота з Redis, Memcacher, MongoDB
- Основи роботи Celery
Веб-розробка
- Мова шаблонів Jinja2
- Основи й стандарти API
- Основи роботи з Flask
Особливості курсу
- Викладачі практики
- Корпоративне навчання
- Можливість навчатись у вихідні
- Можливість влаштуватись у провідні IT-компанії
- Індивідуальне навчання
Викладачі курсу
- Володимир - Програміст
- Ігор - Програміст
- Володимир - Програміст
- Олексій - Програміст
- SQL / DBA
Програма курсу
Процедура встановлення та завантаження сервера MySQL 5.x як служби
- Характеристика успішності MySQL
- Характеристика особливостей MySQL
- Як встановити сервер MySQL5.х
- Огляд схематизації MySQL
- Введення в програми, що використовуються під час роботи з сервером
- Введення в утиліти, що використовуються під час роботи з сервером
- Знайомство з командами консолі сервера
- Введення в оператори USE
- Введення в оператор SHOW
- INFORMATION_SCHEMA - база даних
- Як слід її використовувати, щоб мати інформацію про метадані
- Практика
Характеристика проєктування бази даних реляційного типу
- Алгоритм проектування бази даних
- Введення в MySQL 5.x - центральні типи даних
- Як зробити оптимальний вибір типу для того, щоб зберігати свої дані.
- Як реалізовується нормалізація бази даних
- Характеристика ключів
- Характеристика ключових атрибутів
- Огляд пакету Workbench 8.0.x
- Прийоми його використання в проєктуванні БД
- Практика
Характеристика синтаксису виразів SQL у визначенні архітектурних даних
- Знайомство з виразами SQL
- Введення в оператори визначення архітектури бази даних
- Огляд обмежень та індексів
- Яким чином видаляти індекс із таблиці
- Як його додати
- Знайомство з операторами маніпулювання
- Практика
SQL-вирази: маніпулювання
- Характеристика оператора SELECT
- Процедура вибірки даних
- Огляд предикатів ORDER та WHERE
- Що собою являють агрегатні функції
- Знайомство з обмеженнями вибірки
- Введення в предикат HAVING
- Процес об'єднання таблиць
- Практика
Характеристика збережених процедур та тригерів
- Будування збережених процедур
- Їхнє призначення
- Яким чином використовувати збережені процедури
- Огляд тригерів
- Як забезпечити цілісність зв'язків
- Практика
Характеристика маніпулювання даними. Об'єднання запитів
- Введення в UNION
- Як використовувати підзапити
- Як використовувати множини значень
- Введення в тимчасові таблиці
- Видалення даних
- Оновлення даних
- Практика
Характеристика транзакцій. MySQL - типи сховищ
- Огляд блокування
- Огляд їхніх типів
- Прийоми вибору оптимального сховища
- Практика
Сервер MySQL 5: обслуговування та оптимізація
- Алгоритм резервного копіювання
- Алгоритм аварійного відновлення
- Методика перевірки таблиць
- Методика відновлення таблиць
- Прийоми розділу прав користувачів
- Прийоми оптимізації запитів
- Як відбувається оптимізація баз даних
- Як відбувається оптимізація конфігурації сервера
- Практика
Ви навчитеся:
- Встановленню та налаштуванню сервера MySQL 5
- Проєктуванню та будуванню продуктивних та якісних баз даних за допомогою сервера MySQL 5
- Використанню збережених тригерів та процедур в базах даних
- Використанню транзакцій
- Регулюванню транзакціями
- Резервному копіюванню даних, а також їх відновленню після аварійного порушення
- Оптимізації запитів
- Конфігурації сервера
Особливості курсу
- Викладачі практики
- Корпоративне навчання
- Можливість навчатись у вихідні
- Можливість влаштуватись у провідні IT-компанії
- Індивідуальне навчання
- Python
Ми пропонуємо індивідуальний підхід і комплексне навчання програмування Python. Ви не тільки будете займатися безпосереднім вивченням мови, а ще й зможете підвищити свій soft skills, що навчить вас правильно використовувати потенціал розробника.
Програма курсу
Для чого нам комп'ютерні програми
- Програмування і творчість
- Що таке програмування
- Знайомство з Python
- Компіляція і інтерпретація
- Мистецтво написання програм
- Програма - що це і навіщо
- Вправи
Модель і принципи програмування
- Принципи програмування
- Парадигми програмування
Головні слова і імена змінних
- Синтаксис мови
- Типи данних
- Змінні
- Оператори і робота з ними
- Операнди
- Порядок операцій
- Вирази
- Невідкладні операції
- Робота з даними
- Коментарі
- Вправи
Потік виконання і робота з ним
- Логічні оператори
- Вирази
- Умовне виконання
- Послідовність умов
- Використання try й except в перехопленні виключень
- Вправи
Організація обробки даних (Ітерація)
- Цикли while, for
- Оновлення змінної
- Break і нескінченні цикли
- Завершення обробки даних за допомогою оператора continue
Списки
- Створення списків
- Зміна елементів списку
- Обхід списків. Висновок даних зі списку
- Вправи
Функції і їх виклик
- Приведення типів функціями
- Випадкові числа
- Додавання нових функцій
- Математичні функції
- Параметри функцій, їх визначення і використання
- Значення параметрів за замовчуванням
- Вправи
Що таке рядок
- Використання len і отримання довжини рядка
- Обхід рядків за допомогою циклу
- Зріз рядка
- Оператор in
- Рядкові методи й порівняння рядків
- Parsing рядків
- Регулярні вислови
- Оператор форматування
- Вправи
Введення в роботу з файлами
- Відкриття файлів
- Читання файлів
- Рядки й текстовий файл
- Формат JSON
- Оператор with
- Вправи
Колекції
- Список колекцій в Python
- Кортежі
- Словники
- Файли й словники
- Словник як набір лічильників
- Словники й цикли
- Множини
- Вправи
Функціональне програмування і його елементи
- Об'єкт класу
- Функції, які залежать від функцій
- Замикання
- Декоратори
- Лямбда-функції
- Вправи
Введення в ООП
- Об'єктно-орієнтоване програмування
- Поняття классу. Методи класу
- Інкапсуляція
- Наслідування
- Обробка різнотипних даних
- Вправи
Введення в GUI
- Крос-платформна графічна бібліотека tkinter
- Огляд віджетів
- Створення віджета
- Налаштування розміру і шрифту тексту
- Налаштування розмірів вікна програми
- Додавання віджета Button
- Зміна кольору тексту і фону у Button
- Подія Click
- Отримання введення з використанням класу Entry
- Установка фокусу віджета введення
- Показ діалогових вікон з вибором варіанта
- Вправи
Під час курсу ви навчитеся:
- Створювати програми мовою програмування Python на середньому рівні важкості
- Розуміти основні принципи програмування
- Створювати інструментальні програми невеликого функціоналу
- Розробляти повноцінні програми на Python
- Навчитеся проєктувати структуру програми
- Зможете створювати інструментальні програми базового рівня
- Зрозумієте принципи програмування
Особливості курсу
- Викладачі практики
- Корпоративне навчання
- Можливість навчатись у вихідні
- Можливість влаштуватись у провідні IT-компанії
- Індивідуальне навчання
Викладачі курсу
- Володимир - Програміст
- Ігор - Програміст
- Володимир - Програміст
- Олексій - Програміст