- iOS Development
- Swift
Програма курсу
Теми:
- Як налаштувати середовище розробки. Загальна інформація про Apple
- Введення в документацію
- Симулятор пристроїв і їх налаштування в середовищі розробки Xcode
- Як створити новий проєкт
- ООП: принципи та прийоми
- Як працювати з шаблонами проектування
- Базові відомості про мову Swift
- Синтаксис мови Swift - токени
- Переваги мови Swift і загальна інформація. Які оператори використовуються у Swift
- Принципи ООП щодо Swift і їх застосування
- Як реалізується спадкування й інкапсуляція у Swift
- Колекції у Swift: масиви, набори й словники
- Словники dictionary
- Масиви array
- Набори set
- Як працювати з зображеннями
- Як працювати з колекціями
- Узагальнення generics і параметризація методів
- Класи й управлінські структури
- Класи й методи екземпляра
- Властивості зберігання та обчислювані властивості
- Як працювати з ресурсами
- Об'єкти Swift та їх життєвий цикл
- Безпека зберігання, пам'ять і механізми управління
- Налаштування контролерів і переходів з segue
- Створення діалогових вікон з UIAlertView
- Створення модальних меню з UIActionSheets
- Інструменти UITabBarController і UINavigationController для реалізації навігації
- Стандартна бібліотека Cocoa Touch та її елементи
- Core Graphics для створення графічних примітивів
- Interface Builder для докладної роботи з графікою
- Як працювати з системою контролю версій
- Візуалізація за допомогою Xib-файлів
- Створення інтерфейсу програми та Storyboard
- Створення й використання протоколів
- Локалізація в середовищі iOS
- Рядки та символи. Типи string, character
- Розробка багатопоточних додатків. Потоки thread і черги queues
- Інструменти малювання й анімації
- Застосування анімації у Swift
- Як відобразити безліч елементів
- Табличне представлення UITableView
- Відображення елементів в колекції UICollectionView
- Користувальницьке введення даних та їх обробка
- Верстка: ручна й адаптивна за допомогою autolayout
- Верстка інтерфейсу адаптивним способом
- Створення елементів інтерфейсу - кнопок, полів і меню, що випадають
- Програма: оптимізація та налаштування
- Як реалізувати жести натискання у Swift
- Сторонні бібліотеки CocoaPods: підключення та застосування
- Паралелізм задач за допомогою бібліотеки Grand Central Dispatch
- Споживання пам'яті: аналіз
- Продуктивність: аналіз і оптимізація
- Практичний модуль і курсовий проєкт
Цільова аудиторія для курсу:
- Програмісти, які тільки починають свою кар’єру та намагаються реалізовувати перші кроки у програмування
- Розробники, яким вже відомо про інші платформи, і вони хочуть освоїти це спрямування
- Веб-розробники, які хочуть бути компетентними в цій платформі
- Всі ті, хто бажає навчитися писати власні додатки під iOS
Вміння після проходження курсу:
- Використання головних компонентів регулювання інтерфейсу користувачів iOS
- Адаптування додатків під пристрої з різними екранами
- Оптимізація та компонування джерел додатку
Особливості курсу
- Викладачі практики
- Корпоративне навчання
- Можливість навчатись у вихідні
- Можливість влаштуватись у провідні IT-компанії
- Індивідуальне навчання
Викладачі курсу
- Володимир - Програміст
- Ігор - Програміст
- Володимир - Програміст
- Олексій - Програміст
- Android
Програма курсу
Теми:
- Компонент Картка CardView
- Налаштування тулбару AppBarLayout
- Знайомство та атрибути елемента Custom ToolBar
- Основні відомості по роботі в системі контролю версій
- Як приєднати та використовувати бібліотеку ButterKnife
- Як приєднати та використовувати бібліотеку Dagger2
- Меню-слайдер Custom Navigation Drawer
- Анотації: @Ingect, @Provide, @Singleton
- Введення Injection через конструктор, поле і метод
- Модулі та саб-модулі програми
- Як побудувати архітектуру програми
- Переваги стратегії MVP
- Можливості RxAndroid для реактивного програмування
- Бібліотека Retrofit2 і RxAndroid
- Підключення та сфера застосування бібліотеки Moxy
- Робота програм у фоновому режимі
- Огляд основних сервісів Services
- Сервіси: життєвий цикл, запуск, робота
- Синхронна робота сервісів
- Як прив'язати сервіс. Активності та сервіси
- Реалізація BroascastReceiver для реєстрації системних подій
- Налаштування Internet в додатку
- Огляд основних запитів HTTP: POST, GET
- Що таке парсер Json. Робота з форматом Json
- Робота з геоданими і визначення місця розташування
- Таблиці: управління і налаштування
- Як під'єднати базу даних до проєкту
- Робота з базою даних SQLite
- Основи мови SQL. Як скласти запит до бази
- Запити SELECT, INSERT, DELETE, UPDATE
- Застосування класу Cursor
- Як працювати з базами даних SQLite, RxAndroid
- Технологія ORM і як її використовувати
- Робота з картами GoogleMaps
- Загальні відомості про соціальні мережі
Після проходження курсу ти зможеш:
- Максимально ефективно використовувати бази даних в Android
- Розробляти додатки клієнт-серверного типу
- Розбиратися в типах архітектури додатків і вибирати оптимальний варіант в процесі розробки
- Орієнтуватися в актуальних трендах і тенденціях Android-додатків
- Знають цикл розробки програми та використовують отримані навички в власних проєктах
Особливості курсу
- Викладачі практики
- Корпоративне навчання
- Можливість навчатись у вихідні
- Можливість працевлаштування у провідні IT-компанії
- Індивідуальне навчання
Викладачі курсу
- Володимир - Програміст
- Ігор - Програміст
- Володимир - Програміст
- Олексій - Програміст
- Android
Студенти вчаться створювати інтерфейс з нуля, продумувати логіку дій і механізм роботи, засвоять лайфхаки, які застосовують досвідчені розробники й на практиці відпрацюють навички написання коду.
Програма курсу
Теми:
- Вступ
- Особливості ОС Android
- Що таке емулятор. IDE, SDK / NDK. Робота з Git
- З чого складається проєкт
- Система автоматичного складання додатків Gradle
- Як зробити точкою входу в додаток клас Application
- Завдання Task і їх життєвий цикл
- Базові Android-компоненти програми: Intent, Activity, ContentProvider, Manifest, BroadCast, Service
- Об'єкт Context для доступу до базових функцій
- Ресурси res і активи assets
- Робота зі строковими ресурсами
- Визначення розмірів в Android
- Растрові та векторні зображення в Android
- Використання стилів в Android
- Основні характеристики класу View
- Огляд класу ViewGroup
- Класи-спадкоємці View - огляд
- Створення простого додатка
- Як здійснити верстку з XML
- Елементи інтерфейсу і XML, рендеринг
- Розміщення елементів Action Bar
- Стандартний компонент Menu
- Клас Dialog для створення діалогових вікон
- Налаштування навігації та взаємодії екранів
- Основні можливості компонента Intent
- Взаємодія Activity
- Додавання і видалення фрагментів Fragment
- Використання BackStack для навігації між фрагментами
- Адаптери для зв'язку даних зі списками
- Списки ListView, ViewHolder, GridView
- Віджет RecyclerView і виділення елементів
- Концепція асинхронного програмування Android
- Клас Thread для управління потоком
- Обробка Runnable
- Механізм Handler для роботи з чергою повідомлень
- Робота з асинхронними завданнями та AsyncTask
- Робота з локальними даними
- Як використати клас SharedPreference
- Налаштування пам'яті програми
- SQLite - основи роботи з базою даних
- Архітектурний стиль Rest, особливості й методи
- Протоколи HTTP/HTTPS
- Робота з форматом JSON
- Огляд нативних інструментів Android
- Огляд сервісів Android
- Клас Intent Service для асинхронних завдань
- Реалізація взаємодії з ОС
- Постачальник вмісту Content Provider
- Широкомовні повідомлення BroadCast і Broadcast Receiver. Приймачі, передача
- Налаштування віджетів, планувальника, повідомлень
- Типи архітектури додатку
- Огляд патернів проектування
- Поведінкові патерни, які використовує Android
- Принципи SOLID для ООП
- Огляд патернів розробки MVP, MVC, MVVM
- Популярні бібліотеки та їх налаштування
- Бібліотека Gson для роботи з об'єктами JSON
- Бібліотеки для зображень Picasso і Glide
- Бібліотека для роботи з мережею Retrofit2
- Як реалізувати ORM використовуючи Room для зберігання даних
Після курсу ти будеш знати і вміти:
- Повний цикл розробки програми з нуля до запуску
- Здійснювати верстку інтерфейсу в додатку
- Життєвий цикл програми та механізм роботи, починаючи зі збірки та закінчуючи закриттям і видаленням з пам'яті
- Шукати та приєднувати нові бібліотеки
Особливості курсу
- Викладачі практики
- Корпоративне навчання
- Можливість навчатися по вихідним
- Можливість влаштуватись у провідні IT-компанії
- Індивідуальне навчання
Викладачі курсу
- Володимир - Програміст
- Ігор - Програміст
- Володимир - Програміст
- Олексій - Програміст
- Java
Програма курсу
Java Enterprise Edition
- Огляд N-рівневої архітектури
- Огляд розподіленого додатка
- Введення в компетентну архітектуру
- Огляд шаблонів проєктування
- Огляд MVC-шаблона
- Введення в платформу Java EE
- Знайомство з її головними елементами
- Чим відрізняється Java EE5 від Java 2EE
- Введення в архітектуру додатку Enterprise
- Огляд EJB-компонентів
- Їхні види
- Практика
Характеристика компонентів Session Bean
- Архітектура компонентів EJB
- Знайомство з видами компонентів Session Bean
- Введення в зміст компонента Session Bean
- Характеристика його бізнес-методів
- Характеристика життєвого циклу
- Алгоритм побудови statefull-компонента
- Алгоритм побудови stateless-компонента
- Яким чином розгортаються компоненти в сервері додатків
- Практика
Характеристика додатків, створених на основі EJB
- Знайомство з JNDI-технологією
- Як відбувається реєстрація ресурсів
- Як реалізовується доступ до них
- Введення в RMI-технологію
- Як отримати видалене посилання на екземпляр елемента
- Характеристика видаленого консольного клієнта
- Схематизація додатку Java EE
- Як розгортаються додатки в сервері додатків
- Практика
Характеристика компонентів Entity Bean
- Як відбувається об'єктно-реляційне відображення
- Java Persistence API: знайомство з головними поняттями
- Характеристика класу компонента entity bean
- Його методи
- Введення в життєвий цикл
- Введення в пули з'єднання з базами даних
- Формування enity-компонента
- Процес розгортання компонента в сервері додатків
- Яким чином відбиваються дані з бази даних на компонент
- Специфіка каскадного видалення об'єктів
- Практика
Введення в компоненти Message Driven Bean
- Яким чином працює Java Message Service
- MBD-компоненти: життєвий цикл
- MBD-компоненти: зміст класу
- MBD-компоненти: побудова
- Процедура його розгортання в сервері додатків
- Практика
EJB-компоненти: транзакції
- Транзакція - це
- Введення в рівні їхньої ізоляції
- Характеристика об'єктних транзакцій
- Програмні транзакції - це
- Декларативні транзакції - це
- Практика
Уміння після проходження курсу:
- Побудова різнотипних компонентів EJB
- Формування закінчених додатків за допомогою їхньої бази
- Встановлення архітектури розподіленого клієнт-серверного додатку
- Опис цілей компонентів EJB
- Опис типів цих компонентів
- Побудова додатків за допомогою бази компонентів EJB
- Регулювання транзакцій в компонентах EJB
- Формування видалених клієнтів, що звертаються до корпоративного додатка
Особливості курсу
- Викладачі практики
- Корпоративне навчання
- Можливість навчатися у вихідні
- Можливість влаштуватися у провідні IT-компанії
- Індивідуальне навчання
- Java
Програма курсу
Характеристика багатопоточного програмування
- Його позитивні риси
- Його негативні риси
- Java та регулювання багатопоточністю
- Прийоми побудови потоків
- Огляд класу Thread
- Огляд інтерфейсу Runnable
- Алгоритм синхронізації потоків
- Огляд ресурсів регулювання пакетами
- Введення в безпечні класи та колекції
- Практика
Java та використання JDBC API
- Взаємодія Java з СУБД
- Характеристика JDBC
- Драйвери JDBC
- Знайомство з їхніми типами
- Введення в головні JDBC-об’єкти
- JDBC-транзакції
- Практика
JavaFX та побудова сучасного інтерфейсу користувачів
- GUI - історія
- Знайомство з можливостями JavaFX
- Головні об'єкти JavaFX
- Колекції JavaFX
- Специфіка побудови простого додатка JavaFX FXML та JavaFX
- Введення в контейнери JavaFX
- Побудова діаграм
- JavaFX - анімація
- Огляд візуальних ефектів
- JavaFX: реалізація багатопоточності
- Практика
Java: веб-додатки
- Введення в схематизацію розподілених додатків
- Огляд сервлетів
- JSP-сторінки
- Знайомство з JSF
- Склад додатків JSF
- JSF: побудова користувальницьких компонентів
- Введення в веб-сервіси
- Практика
Після курсу ви зможете:
- Самостійно формувати багатопоточні вирази
- Використовувати пули потоків
- Створювати код синхронізації потоків
- Формувати та використовувати web-сервіси
- На достойному рівні розбиратися в архітектурі JavaFX
- Реалізовувати сучасний інтерфейс на JavaFX
- Власноруч формувати JSF
- Проводити розробку JSF
- Використовувати JDBC в додатках даної системи
- Оперувати центральними елементами JDBC API
Особливості курсу
- Викладачі практики
- Корпоративне навчання
- Можливість навчатися у вихідні
- Можливість влаштуватись у провідні IT-компанії
- Індивідуальне навчання
Викладачі курсу
- Володимир - Програміст
- Ігор - Програміст
- Java
Програма курсу
Знайомство з мовою програмування Java
- Галузь використання, платформа Java. Особливості мови. Віртуальна машина Java (VirtualMachine). Інструментальні засоби розроблення (DevelopmentKit)
- Реалізація віртуальної машини (RuntimeEnvironment). Виконання програм з командного рядка, компіляція
- Найбільш популярні інтегровані середовища розробки (IntegratedDevelopmentEnvironment)
- Потенціал та перспективи розвитку мови програмування
- Практика
Використання робочого осередку Eclipse/NetBeans/Intellij Idea
- Завантаження, встановлення Eclipse/NetBeans/Intellij Idea. Налаштування робочого осередку, конфігурація Java. Детальний огляд робочого осередку. Проєкти
- Створення та використання простої програми на Java в осередку Eclipse/NetBeans/Intellij Idea
- Налаштування програми, пошук проблем. Недосяжний код. Прийоми та засоби зневадження програм в осередку Eclipse/NetBeans/Intellij Idea
- Практика
Основи синтаксису Java
- Дані, типи даних, проведення типів. Примітивні та дані посилань. Перетворення числових типів
- Змінні та їх ініціалізація. Модифікатор final. Константи
- Арифметичні, логічні, порозрядні операції. Інкримінування та декрементування. Операції відношення. Пріоритети
- Оператори керування. Оператор if, оператор break, вкладений оператор if, тернарний оператор, оператор switch. Локальні змінні та блоки
- Циклічні оператори. Вихід з циклу. Цикли while, do-while, for. Оператори continue, return. Вкладені цикли
- Поняття масиву та дії з ними. Багатомірні масиви
- Методи, тіло та сигнатура методу. Виклик, передача параметрів; значення, котре повертається. Перевантаження методів
- Практика
Об'єктно-орієнтоване програмування
- Абстракція. Наслідування, поліморфізм, інкапсуляція
- Класи та об'єкти, дії з ними. Оператор new. Модифікатори доступу. Методи класу. Слово static
- Оболонки примітивних типів (в пакеті lang). Упакування та розпакування значень
- Дії з рядками. Класи String, StringBuilder, StringBuffer та їхні методи. Перетворення рядків в числа та навпаки
- Конструктори, перевантаженість конструкторів. Ініціалізація. Слова this та super
- Управління абстрактними класами та класами для користувачів. Наслідування классів
- Практика
Колекції
- Інтерфейси, класи колекцій (Collection, Iterator, Iterable)
- Класи ArrayList, Vector, Stack, LinkedList, TreeSet, HashSet
- Інтерфейси Set, List, SortedSet, Queue, Comparable, Comparator, Map
- Присутність алгоритмів у колекціях
- Практика
Елементи інтерфейсу для користувачів. Графіка
- Знайомство з бібліотеками AWT, Swing. Пакет javax.swing
- Фрейм, його розташування, розміри, властивості
- Елементи управління та структура інтерфейсу для користувачів. Керування компонентами на поверхні фрейму. Створення візуальних компонентів та оброблення подій
- Практика
Особливості курсу
- Викладачі практики
- Корпоративне навчання
- Можливість працевлаштування у провідні IT-компанії
- Можливість навчатися у вихідні
- Індивідуальне навчання
Викладачі курсу
- Володимир - Програміст
- Ігор - Програміст
- Java
Програма курсу
Перераховування
- Слово enum, перераховані типи. Створення користувальницьких типів enum з використанням конструкторів та методів
- Дії з винятковими ситуаціями
- Шаблони обробки помилок. Генерування та класифікація виняткових ситуацій. Вивчення конструкції try-catch-finally. Використання ключових слів throw, throws
- Користувальницькі виключення
- Практика
Бази даних
- Принципи роботи, призначення, проектування, управління базами даних. Популярні СУБД. Реляційні БД. Теорія баз даних, основні поняття. Типи даних для БД та їхня цілісність. Нормальні форми
- Мова структурованих запитів SQL, її призначення та використання. Створення баз даних (CREATE). Дії з даними (оператори INSERT, UPDATE, SELECT). Вибірка з умовою, з декількох таблиць (WHERE). Реалізація сортування та групування даних (ORDER BY, GROUP BY)
- Програмний пакет java.sql. З'єднання з базою даних. Класи ResultSet, Connection, Statement
- Практика
Дії з файлами
- Пакет java.io. файли та каталоги. Класи File, FileWriter, FileReader, BufferedWriter, BufferedReader. Читання та запис даних у файли
- Виключення у роботі з файлами
- Інтерфейс FilenameFilter, FileFilter
- Практика
Принципи узагальненого програмування (Generics)
- Призначення та принципи узагальненого програмування. Узагальнені класи, екземпляри, методи, узагальнення. Наслідування узагальнених типів
- Практика
Архіви та пакети Java
- Імпорт, введення класів. Пакети. JAR-файли
- Практика
Потоки
- Особливості багатопоточних додатків. Клас Thread та інтерфейс Runnable, особливості їхньої реалізації. Методи join. Пріоритети, синхронізація та переривання роботи потоків. Синхронізовані методи. Монітор. Слово synchronized, його форми
- Практика
Вивчення XML
- Будова XML-документа та його синтаксичний аналіз. XPath. Достовірність XML-документів. Простір імен. Синтаксичні аналізатори. Створення XML-документів
- Практика
Дії в мережі
- Сокети. Підключення до сервера. Відправлення та отримання даних з Інтернету. Використання електронної пошти
- Практика
Особливості курсу
- Викладачі практики
- Корпоративне навчання
- Можливість навчатися у вихідні
- Можливість влаштуватись у провідні IT-компанії
- Індивідуальне навчання
Викладачі курсу
- Володимир - Програміст
- Ігор - Програміст
- 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-компанії
- Індивідуальне навчання
- 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-компанії
- Індивідуальне навчання
- 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-компанії
- Індивідуальне навчання
- 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-компанії
- Індивідуальне навчання







