- Web & Mobile Design / UI/UX
На наших курсах по веб дизайну ми вчимо студентів збирати та обробляти статистику, досліджувати шлях користувача в системі та складати сценарії використання продукту, створювати прототипи та мок-апи. Ми поговоримо про те, якими інструментами користуються сучасні дизайнери, і як планувати та просувати кар’єру за напрямом UI/UX. Після закінчення курсу у вас буде готовий проект у портфоліо, який можна буде показати майбутньому роботодавцю.
Програма курсу
UX Дослідження
UX Дослідження складається з двох частин: збір даних та їх узагальнення, таким чином допомагає нам визначити, підтвердити або спростувати наші припущення, знайти спільні риси в моделях поведінки користувачів, а також розпізнати їхні потреби та цілі.
Структура проєкту
Складання інформаційної архітектури, написання історій, сценаріїв і User Flow на основі користувальницького дослідження.
Прототипування
Скетчі, вайрфрейми, мокапи як способи комунікації у дизайні. Для перевірки чи спростування інформаційної архітектури та інших аспектів проєкту.
Принципи веб-дизайну
Візуальна вага, напрямок, акцентування, контраст, балансування, повторення, зручність сприйняття, чим більше уваги приділяти цим принципам, тим вдалішим в результаті вийде дизайн.
Компоненти
Кнопки, меню, перемикачі, форми - всі ті елементи, що допомагають користувачам взаємодіяти з сайтом або програмою. У кожного компонента може бути кілька станів, які допомагають користувачам зрозуміти інтерфейс. Також вчимося передавати дизайн спіки розробникам та взаємодіяти з ними.
Проєкт для портфоліо
Процес створення UX-портфоліо висвітлює ключові моменти вашого процесу проєктування та дозволяє показати іншим, хто ви як дизайнер, ваші навички та досягнення.
Попередні вимоги
- Знання та мінімальний досвід використання будь-якого графічного редактора (Sketch (MacOS), Figma (MacOS/Windows) або Adobe XD)
- Знання англійської мови на рівні читання технічної документації
Особливості курсу
- Швидкість проходження курсу залежить від вас. Швидше вчитесь - менше платите. Середній час проходження курсу 2-4 місяці
- 7 днів тестового періоду
- Менторинг
- Безкоштовна заморозка
Викладачі курсу
- Олександр Винокуров - Senior Product Designer at Autility AS
- Родко Хоржинський - Head of Product Design at Reviult
- Діана Сульдіна - UI/UX Designer
- Gamedev / Unity / Game Design
Навчання на курсах Unity від Foxminded проходить із ментором. Ментор – це досвідчений розробник, який контролюватиме ваше навчання, допомагатиме розібратися з домашніми завданнями та давати фідбек. Наші курси не обмежуються однією теорією, ми намагаємось перемістити навчання у бік практики. Досвідчений ментор розповість про те, які рішення застосовують у реальній розробці.
Програма курсу
Підготовка
На цьому етапі ви встановите редактор для безпосередньо розробки ігор, і додаткові пакети на ПК - для складання під смартфони та PC, познайомитеся з інтерфейсом, навчитеся створювати структуру проєкту.
"Hello world" on Android, PC
Тут ви познайомитеся з головними сутностями розробки: камерою, ігровими об'єктами та компонентами, робочою сценою та зберете перший білд на Android та PC.
"Match 3"
У цьому розділі ви створите урізану версію match 3. Ознайомитеся з 2D-об'єктами та ассетами для роботи з 2D. Створіть перший скрипт, вивчіть його життєвий цикл, навчитеся створювати взаємодії між скриптами. Також ви навчитеся обробляти взаємодії користувача з грою.
Більярд "Pool 8"
У цьому розділі ви створите демо-версію більярду. Ознайомтеся з 3D-об'єктами та їх взаємодіями у просторі, з 3D-фізикою, її властивостями та роботою з нею. Попрацюєте з векторами та кватерніонами. Також побачите як працює один із важливих підходів у гробудуванні - візуальний обман.
Мотокрос "Need for Motospeed"
У цьому розділі ви створите демо-версію мотокросу. Познайомтеся з 2D-фізикою, її властивостями та роботою з нею. Навчіться створювати будь-які 2D-рельєфи, паралакс на бекграунді для створення візуального обману руху картки. Створіть гонщика на суглобах для більш живого ефекту.
"Space soldier"
Цей проєкт навчить вас створювати складніші геймплеї ігор, зокрема - шутери від третьої особи. Ви навчитеся імпортувати моделі та анімації humanoid, налаштовувати анімації, будувати локації, керувати персонажем та створювати зброю та ефект стрілянини, познайомитеся з UI.
Попередні вимоги
- Базові знання C# або іншої МП
- Розуміння логіки побудови програм та алгоритмів
- Знання Photoshop та програми для 3D-моделювання
- Знання англійської мови на рівні читання технічної документації
Особливості курсу
- Швидкість проходження курсу залежить від вас. Швидше вчитесь - менше платите. Середній час проходження курсу 3 місяці
- 7 днів тестового періоду
- Менторинг
- Безкоштовна заморозка
Викладачі курсу
- Роман Дубік - Senior Unity Developer
- Дмитро Корсунський-Марченко - Unity Developer, Team Lead at Lumighost
- Павло Клюєв - Unity 3D Developer в Робокод (навчальний заклад)
- Владислав Пархоменко - Middle Unity Developer at Eventyr
- Роман Вікулов - Senior / Tech Lead Unity Developer at Yovo
- Salesforce
Система Salesforce має свою мову програмування Apex, близьку до Java. На курсах Salesforce Developer від компанії Foxminded ви освоїте ази цієї мови, побачите Salesforce зсередини, а також навчитеся створювати нескладні програми.
Програма курсу
Git Course
Вiдеокурс по GitLab допоможе вам зрозуміти основні концепції та інструменти, які використовуються для керування проєктами програмного забезпечення. Під час цього курсу ви ознайомитеся з основами системи контролю версій Git та платформою GitLab, яка надає широкий спектр можливостей для спільної роботи над кодом, відстеження змін, управління задачами та багато іншого. Ви дізнаєтеся, як ефективно використовувати GitLab для спільної роботи в команді, ведення проєктів та забезпечення якості програмного забезпечення.
Діаграма БД
На першому занятті необхідно намалювати діаграму майбутньої програми. Об'єкти, поля, зв'язки. За рахунок яких полів утворюються св'язки, де треба створювати поле, щоб утворився правильний зв'язок - розробник повинен розуміти такі речі, незалежно від того, з якою технологією він працює.
Створення програми, інтерфейс
Адміністрування - важлива частина, причому не лише у Salesforce, а й у будь якому іншому напрямку. На роботі ви не будете цілий день писати код, вам завжди треба буде щось десь налаштовувати, щоб ваш додаток залетів. На першому етапі адміністрування необхідно створити об'єкти, які були продумані на першому завданні. Вивести їх на інтерфейс та привести у зручний для перегляду вигляд.
Типи записів (Record Types)
Record Type - це поле, що вказує на тип запису. Від цього поля може залежати відображення інших полів, їхня обов'язковість або можливість редагувати. Записи того самого об'єкта, що мають різні рекорд тайпи можуть відрізнятися і мати різний функціонал. При цьому немає необхідності створювати окремий об'єкт, коли більшість функціоналу однакова.
Access levels
Тут студент вивчає рівні доступу (доступ до об'єкта, доступ до певних записів, доступ до певних полів), види доступу - створення, редагування, видалення.
Process automation
Розсилка повідомлень або додавання застарілих записів до архіву - ні для кого не секрет, що це такі речі давно робляться автоматично, головне - один раз правильно налаштувати автоматичний процес.
Visualforce
Вивчаємо можливості стандартних інструментів visualforce-page, знайомимося з мовою Apex з прикладу Apex-контролера, коли результат виконання коду можна відразу побачити сторінку.
SOQL/SOSL
Знайомство з мовами SOQL та SOSL, написання складних запитів на пошук записів.
Lightning
Створення лайтнінгу компонентів, використання готових інструментів разом із звичайним HTML, взаємодія з Apex-контролером, робота над ізольованістю компонентів, щоб їх можна було використовувати повторно.
Secure code. Exceptions. Custom labels
Кінцевий користувач не повинен бачити нічого зайвого. Він не повинен бачити страшний текст ексепшена або сторінку, що взагалі зламалася. Так само він у жодному разі не повинен побачити зайвих даних. Тому тут треба буде все перевірити та обробити. І заразом, у ході рефакторингу, треба виправити всі написи, які виникають у користувача на інтерфейсі. Щоб надалі їх можна було зменшити через адмінку.
Apex trigger
Тригери дозволяють виконувати дії до та після створення, редагування, видалення записів. Це може бути оновлення поточних записів (які створюються або редагуються) або обробка пов'язаних із ними записів. В цілому Apex-тригери можна виконати майже всі дії, які дозволяє мова Apex.
Asynchronous Apex
Асинхронні процеси необхідні обробки великих обсягів даних, виконання складних алгоритмів, коли користувачеві необов'язково чекати завершення завдання. Тут буде замінено один із автоматичних процесів (замість того, щоб вішати процес на кожен запис – можна зробити асинхронний процес, який обробить усі потрібні записи за один раз)
Lightning, override standart actions
Стандартна форма створення запису який завжди має весь функціонал, який клієнту хотілося б, тому тут треба створювати кастомну форму. А щоб клієнт міг сам керувати цією кастомною формою – необхідно додати кастомні налаштування для цієї форми. Крім кастомної форми тут буде знайомство з Custom metadata types, а саме створення кастомних налаштувань для додатка. А щоб ці налаштування було зручно налаштовувати – програміст також повинен зробити зручну сторінку для цих кастомних налаштувань.
Salesforce Lightning Design System (SDLS)
Для виконання цього завдання треба буде застосувати отримані раніше знання, повторно використовувати створені раніше компоненти, ще глибше вивчити можливості Apex і Lightning і загорнути це все SLDS – що було б красиво.
Packaging, deployment
Фінальна задача, де студенту треба буде зібрати все, що вони зробили в окремий пакет, встановити/задеплоїти його на окремий орг, і перевірити чи правильно працює.
Попередні вимоги
- Мінімальний досвід/використання будь-якої мови програмування
- Мінімальний досвід використання/налаштування будь-якої CRM системи
- Знання англійської мови на рівні читання технічної документації
Особливості курсу
- Швидкість проходження курсу залежить від вас. Швидше вчитесь - менше платите. Середня швидкість проходження курсу 4-6 місяців
- 7 днів тестового періоду
- Менторинг
- Безкоштовна заморозка
Викладачі курсу
- Юрій Гарасим - Middle Salesforse Engineer at Advanced Communities
- Тарас Кулієвич - Middle Salesforce Developer at TechMagic
- Мар'ян Лижичка - Salesforce Developer at Peeklogic
- Анастасія Матвійчук - Salesforce Developer at Redtag
- Роман Савінюк - Full Stack Developer at Synebo
- Руслан Нікітін - Salesforce Developer at Flix
- Максим Нарейко - Salesforce Developer at EPAM Systems
- Олег Безруков - Salesforce Team Lead at Voicenter
- Node.js
У цьому курсі студенти будуть набувати навички написання ботів, так і працювати з серверною частиною веб-додатків. Після проходження курсу у студента буде достатньо навичок щоб ходити на співбесіди на позицію Junior Node.js розробника.
Програма курсу
Git Course
Вiдеокурс по GitLab допоможе вам зрозуміти основні концепції та інструменти, які використовуються для керування проєктами програмного забезпечення. Під час цього курсу ви ознайомитеся з основами системи контролю версій Git та платформою GitLab, яка надає широкий спектр можливостей для спільної роботи над кодом, відстеження змін, управління задачами та багато іншого. Ви дізнаєтеся, як ефективно використовувати GitLab для спільної роботи в команді, ведення проєктів та забезпечення якості програмного забезпечення.
CLI
В рамках цього блоку студенти освоюють написання CLI (Command-line interface) за допомогою вбудованих модулів Node.js.
Tooling
Блок призначений для ознайомлення із сучасним набором інструментів, які щодня використовуються у розробці за допомогою Node.js. Сюди входять: діаграми, код стайл, дебагінг, докеризація та звичайно деплой.
Чат боти
У цьому блоці ви зробите кілька своїх чат-ботів для телеграм. За підсумками блоку ви зрозумієте як краще організовувати свій код та деплоїти свою програму.
REST
У цьому блоці ви пишете REST API для керування користувачами. Для реалізації обраний класичний express. Вимоги додаються з кожним завданням у блоці, тому погано організований код необхідно буде рефакторити.
Cloud
У цьому блоці ми робимо завдання, щоб познайомитись із сервісами AWS: лямбди, SES, S3. Це дозволить отримати практичний досвід роботи із найпопулярнішими сервісами.
Advanced topics
За підсумками попередніх 5 блоків, студенти отримують достатньо практики, щоб почати ходити на співбесіди на Junior Node.js розробника. Завдання цього блоку покликані розширити кругозір і посилити становище над ринком. Завдання передбачають виконання на typescript та Nest.js.
Стек технологій курсу:
- Вбудовані модулі Node.js
- Express
- Telegram боти
- axios
- MongoDB
- eslint/prettier
- AWS: SES, S3, лямбди
- Nest.js
Попередні вимоги
- Базові знання JavaScript
- Базове розуміння алгоритмів
- Розуміння як працювати з IDE (Visual Studio, WebStorm тощо)
- Навички пошуку інформації
- Знання англійської мови на рівні читання технічної документації
Особливості курсу
- Швидкість проходження курсу залежить від вас. Швидже вчитесь - менше платите
- 7 днів тестового періоду
- Менторинг
- Безкоштовна заморозка
Викладачі курсу
- Нікіта Галкін - Senior Node.JS Developer
- Назарій Заставний - Technical Lead at Dashdevs
- Владислав Зубко - Lead Fullstack Developer at Binary Studio
- Ігор Сосюра - Senior+ Backend Engineer at Endotech.io
- Сергій Молчан - Software Engineer at DIGIS
- В'ячеслав Жук - Backend Node.js Developer at Wisebrand
- Павло Корягін - Lead Full Stack Developer at Crossover
- Олексій Честних - Node.js Developer at Hebronsoft
- PHP
Навчання проводиться на проєкті за участю ментора. Ми не читаємо довгих та нудних лекцій з теорії програмування, наше навчання побудоване на реальних завданнях, з якими стикаються розробники PHP. Під час проходження навчання PHP на нашому курсі ви почнете створювати власне портфоліо, додаючи до нього виконані завдання курсу. Це портфоліо можна буде показувати рекрутерам при пошуку першої роботи, щоб підвищити шанс вийти на хорошу позицію.
Програма курсу
Clean Code
Це завдання допомагає навчитись писати якісний код відповідно до стандарту PSR, структурувати код, застосовувати різні підходи та патерни.
Unit Tests
Студент виконуючи це завдання, знайомитись із написанням юніт тестів, інструментами для перевірки покриття коду тестами.
Collections & Command Line Interface
Виконуючи цю групу завдань, студент отримує навички написання коду, додавання до вже готового коду функціоналу для роботи через консоль.
Report
Це завдання дає можливість навчитися працювати з файлами та сортувати дані.
Laravel
Дана група завдань дозволяє набути досвіду роботи з фреймворком Laravel. Написати повноцінний додаток з веб-інтерфейсом та api. Здобути досвід роботи з ORM бібліотекою Eloquent.
Symfonygramm & Symfonyweatherremider
Працюючи над завданнями цієї групи, студент виконує реальні завдання, які зазвичай зустрічаються в роботі php-developer-a. Тут є всі етапи починаючи з проектування структури програми, роботи над веб-інтерфейсом та api, інтеграцією зі сторонніми сервісами та закінчуючи деплоєм у продакшн. Студент отримує досвід роботи із Symfony, PostgreSQL, webpack, bootstrap, etc.
Symfonyair Erp System
Це завдання, по суті фінальний акорд, для її вирішення потрібно застосувати всі накопичені знання та вміння, що потребує нестандартних рішень та підходів.
Попередні вимоги
- Знання основ верстки (html, css, js, bootstrap)
- Базові знання синтаксису php
- Ознайомлені з Git, SQL, Docker
- Знання англійської мови на рівні читання технічної документації
Особливості курсу
- Швидкість проходження курсу залежить від вас. Швидше вчитесь - менше платите
- 7 днів тестового періоду
- Менторинг
- Безкоштовна заморозка
Викладачі курсу
- Дмитро Моісеєв - PHP Developer
- Михайло Чехівський - Senior PHP Engineer at VeliTech
- Андрій Рукавчук - PHP Developer at HelpCrunch
- Ігор Мельничук - PHP Developer at NDA
- Дмитро Купцов - Technical Lead at Blazing Boost Srl
- Кирило Скимовський - PHP Developer at Nexio Management
- Микита Шкарубо - Senior Backend Engineer at EPAM
- Євген Кулік - Senior PHP Developer at Genesis
- Богдан Пастух - Lead PHP Developer at PariMatch Tech (now gr8 tech)
- Михайло Панько - Backend Engineer at Relay Payments
- Віталій Петкогло - Team Lead Developer at Quantox, Intelligent Contacts
- iOS Development
- Swift
Під час курсу ви створюватимете програми для пристроїв Apple. У тих студентів, хто дістанеться кінця курсу, в портфоліо буде мінімум одне, а скоріше 4-5 додатків під iOS. А найзавзятіші зможуть похвалитися своїми додатками в AppStore.
Програма курсу
Git Course
Вiдеокурс по GitLab допоможе вам зрозуміти основні концепції та інструменти, які використовуються для керування проєктами програмного забезпечення. Під час цього курсу ви ознайомитеся з основами системи контролю версій Git та платформою GitLab, яка надає широкий спектр можливостей для спільної роботи над кодом, відстеження змін, управління задачами та багато іншого. Ви дізнаєтеся, як ефективно використовувати GitLab для спільної роботи в команді, ведення проєктів та забезпечення якості програмного забезпечення.
Специфіка роботи зі Swift
- Управління пам’яттю, посилальні та прості типи
- Колекції, функції, замикання, класи, структури, протоколи, розширення та інший синтаксичний цукор
- Основи роботи з інтерфейсом
- Створення додатків за допомогою статичних дизайн-образів, спеціально розроблених талановитим дизайнером для ваших завдань
UIKit
- Auto Layout
- Створення інтерфейсу за допомогою Storyboards
- Створення інтерфейсу за допомогою коду
SwiftUI
- Основи роботи зі SwiftUI
- Планування та проєктування додатка
- Додавання функціональності та взаємодії
Робота з мережею
- Отримання даних із мережі та їх обробка
- Створення привабливих і функціональних застосунків, що відповідають вимогам дизайнерів та API
- Тестування та оптимізація
Сторонні бібліотеки
- Використання бібліотек для обробки та аналізу даних
- Створення застосунків з інтеграцією кількох сторонніх бібліотек
Додаткові аспекти
- Життєвий цикл додатка
- Робота з файловою системою
- Тестування
- Налагодження
- Графіка та анімація
- Вимоги до публікації додатка в App Store
Заключення
За підсумком курсу ви опануєте принципи побудови iOS застосунків і отримаєте досвід їх створення. У найстійкіших буде понад 5 застосунків для портфоліо, а в найкреативніших - свої застосунки на основі завдань в App Store.
Попередні вимоги
- Синтаксис мови Swift
- Базові знання фреймворків UIKit, Storyboards, MVC (Model View Controller)
- Розуміння ООП
- Досвід роботи з Git
- Знання англійської мови на рівні технічної документації
Особливості курсу
- Швидкість проходження курсу залежить від вас. Швидже вчитесь - менше платите.
- 7 днів тестового періоду
- Менторинг
- Безкоштовна заморозка
Викладачі курсу
- Андрій Кільовий - Software Engineer at Avenga
- Сергій Мякинніков - Senior iOS Developer at PressReader
- Олександр Кабанов - Lead iOS Engineer at FiveSystems development
- Владислав Скінтіян - Lead iOS Engineer at Kuna
- Олег Дрозд - Middle iOS Developer at Grid Dynamics
- Денис Голишевський - Senior iOS Developer at Дія
- Павло Білогаєнко - Senior iOS Developer at iTomych Studio
- Олександр Олійник - iOS Engineer at Avenga
- Василь Драга - Middle iOS Developer at KeyToTech
- Володимир Андрієнко - Lead iOS Developer at WeFuture
- C# / .NET
Оскільки розробники C#/.NET часто працюють у великих корпораціях, їм необхідно вчитися писати "чистий" код – переробки та доробки можуть коштувати занадто дорого. На курсах розробки на C#/.NET від компанії Foxminded ми відразу звертаємо на це увагу студентів та вчимо їх писати код, за який не буде соромно. Після того, як студенти освоїть ази розробки на C#/.NET та додаткових мовах, під керівництвом менторів вони створять телеграм-бота та простий додаток за допомогою отриманих знань. Ці проекти можна буде додати до портфоліо.
Програма курсу
Git Course
Вiдеокурс по GitLab допоможе вам зрозуміти основні концепції та інструменти, які використовуються для керування проєктами програмного забезпечення. Під час цього курсу ви ознайомитеся з основами системи контролю версій Git та платформою GitLab, яка надає широкий спектр можливостей для спільної роботи над кодом, відстеження змін, управління задачами та багато іншого. Ви дізнаєтеся, як ефективно використовувати GitLab для спільної роботи в команді, ведення проєктів та забезпечення якості програмного забезпечення.
Консольні програми
У даному розділі студент пройде шлях від створення найпростішої програми, до розуміння базових речей у програмуванні: умови, цикли, масиви, робота з консоллю, робота з файлами, парсинг рядкових виразів та багато іншого. Кожне завдання передбачає написання тестів, без яких не обійтися у створенні реальних додатків.
SQL
Поточний стан речей показує, що будь-яка програма, трохи складніша за "Калькулятор", має свою базу даних, необхідну для зберігання даних. У цьому завдання студент розбереться як створювати бази даних, таблиці, напише базові SQL-запити.
Декомпозиція
У цю групу входять два завдання побудувати діаграм предметних областей (UML). Саме вміння побудувати декомпозицію дозволяє програмісту уникнути проблем із купою безглуздо витрачених зусиль та мільйонів переробок при уточненні знань з предметної галузі. Також ці навички знімають проблему старту створення архітектури з нуля.
ASP.NET
У цьому розділі студент створить сайт для роботи з базою даних, створеною у попередньому розділі. Навчиться створювати сторінки для перегляду даних із БД, створення/редагування/видалення цих даних.
WPF (WinForms)
Незважаючи на солідний вік технологій для створення desktop-додатків під Windows, ці технології все ще можуть знадобитися розробнику, особливо в частині enterprise рішень. Також у завданні необхідно буде освоїти роботу з багатопоточністю, взаємодію з UI з кількох потоків, роботу з дисковою системою.
.NET 6
Флагманська та найактуальніша версія .NET, що активно розробляється фірмою Microsoft. У цьому розділі кілька завдань: студент дізнається як написати Telegram бота за допомогою C#, попрацює з апі сторонніх сайтів; напише backend та frontend для свого додатку "домашній облік фінансів" та опублікує його у хмарі Azure.
Попередні вимоги
- Знання базового синтаксису C#
- Знання ООП
- Навички пошуку інормації
- Знання англійської мови на рівні читання технічної документації
Особливості курсу
- Швидкість проходження курсу залежить від вас. Швидше вчитесь - менше платите. Середній час проходження курсу 5-6 місяців
- 7 днів тестового періоду
- Менторинг
- Безкоштовна заморозка
Викладачі курсу
- Олександр Бондаренко - Senior .NET Backend Developer at TechTellent
- Олександр Мартинюк - Senior Software Engineer at Realchemy
- Дмитро Аніщенко - Senior Fullstack Developer at EPAM
- Максимілліан Сандманн - Senior Software Engineer at Laya Group
- Анатолій Осадчий - Senior Software Engineer at Ciklum
- Віктор Бешта - .NET Developer at GlobalLogic
- Ігор Мотроновський - Backend .NET Developer at VMedia
- Олексій Деманов - Full-stack C#/.NET Web Engineer at GlobalLogic
- Павло Ромашук - Fullstack Developer at Netafim
- Євген Карпенко - Senior .NET Developer at AllStars-IT
- Дмитро Лежень - Senior .NET Developer
- Микола Кузуб - Senior .NET Developer at EPAM
- Євген Худоліїв - Senior .NET Developer at SoftServe
- Володимир Лук'яненко - Senior .NET Developer at X1 Group
- Пилип Гіревка - Senior Software Engineer at Dornier MedTech
- Дмитро Зубенко - Full stack .NET Developer at Devitis
- Андрій Винничук - Full stack Software Developer at TBC Group
- QA Automation / QA Manual
На нашому курсі ми вчимо студентів використовувати ресурси Java для створення автотестів. Цей курс не зовсім для новачків, оскільки вимагає знайомства з ручним тестуванням, базових знань в одній з мов програмування і досвіду роботи з базами даних.
Програма курсу
Git Course
Вiдеокурс по GitLab допоможе вам зрозуміти основні концепції та інструменти, які використовуються для керування проєктами програмного забезпечення. Під час цього курсу ви ознайомитеся з основами системи контролю версій Git та платформою GitLab, яка надає широкий спектр можливостей для спільної роботи над кодом, відстеження змін, управління задачами та багато іншого. Ви дізнаєтеся, як ефективно використовувати GitLab для спільної роботи в команді, ведення проєктів та забезпечення якості програмного забезпечення.
Selenium Webdriver
На курсі QA Automation ми навчимо вас створювати з нуля фреймворк для тестування web-додатків використовуючи бібліотеку для управління браузерами Selenium WebDriver. Практичне використання PageObjects, локатори, робота з web елементами: пошук, отримання властивостей, дії з елементами, явні і неявні очікування (explicit / implicit waits), робота з діалоговими вікнами і Alerts.
SQL
Завдання в цьому розділі допоможуть на практиці освоїти основні навички, необхідні для тестувальника – отримання і оновлення даних, сортування, фільтрація, операції обчислення, об’єднання таблиць, групування даних.
Java
Робота з рядками, генерація тестових даних. Колекції. Робота з базами даних і методи порівняння отриманих даних і UI. Робота з файлами включає читання і запис даних, формування результатів тестування і запис файл. Логування за допомогою Log4j і використання рівнів логування.
Test Frameworks
Для управліннями тестами, обраний фреймворк JUnit5/TestNG. Завдання включають формування тестових груп (suites), основні анотації, запуск тестів.
Maven
Для автоматизації збірки проекту використовується популярний складальник maven. Створення maven проекту.
Test reporting tools
Звіти з автоматизації тестування є надважливим компонентом автоматизації. Коли тести виконані, результати є єдиними артефактами, для яких ви зможете проаналізувати їх помилки. Вони підкажуть вам, чи готов продукт до випуску. Ці звіти також можна надати відповідним зацікавленим сторонам. Це допоможе їм стежити за продуктом під час різних циклів розвитку.
Попередні вимоги
- Мати досвід мануального тестування або знання теорії тестування web-додатків
- Знати синтаксис Java, прості управляючі конструкції, основи ООП, базові колекції
- Знання англійської мови на рівні читання технічної документації
Особливості курсу
- Швидкість проходження курсу залежить від вас. Швидше вчитесь - менше платите. Середній час проходження курсу 6-8 мвсяців
- 7 днів тестового періоду
- Менторинг
- Безкоштовна заморозка
Ментори курсу
- Володимир Троць - Senior Automation Engineer Ciklum
- Олександр Капранчук - AQA at Brightgrove
- Ігор Рудаков - Senior Automation QA at Grid Dynamics
- Олег Дацюк - Automation QA Engineer at Yalantis
- Віктор Чмель - Senior Automation Developer at AlgoSec
- Іляна Гурова
- Іван Матяш - Senior Automation QA Engineer at GlobalLogic
- Олег Дерека - Automation QA Engineer at Skywind Group
- Android
- Java
Курс розробки на Android – для тих, хто хоче відносно швидко отримати спеціальність, яка зараз користується дуже великим попитом. Ви навчитеся створювати додатки на платформі Android.
Програма курсу
Git Course
Вiдеокурс по GitLab допоможе вам зрозуміти основні концепції та інструменти, які використовуються для керування проєктами програмного забезпечення. Під час цього курсу ви ознайомитеся з основами системи контролю версій Git та платформою GitLab, яка надає широкий спектр можливостей для спільної роботи над кодом, відстеження змін, управління задачами та багато іншого. Ви дізнаєтеся, як ефективно використовувати GitLab для спільної роботи в команді, ведення проєктів та забезпечення якості програмного забезпечення.
Intro
Вступне завдання. Студент знайомиться зі слухачами для view, API рядків, основи написання автотестів, вступ до Jetpack Compose.
Benchmark
Комплексний UI, багатопоточність та введення в архітектуру додатків. У рамках завдання студент знайомиться з списковими уявленнями (RecyclerView), багатопоточністю в андроїді, Java collection framework, з реактивним підходом у програмуванні (RxJava/Kotlin coroutines), з архітектурою додатків (MVP/MVVM/MVI), написання автотестів для складного UI, списки в Jetpack Compose, міграція на Jetpack Compose.
Tracker
GPS та робота додатків у фоні. В рамках завдання студент знайомиться зі способами роботи додатків у фоні, робота з базами даних (SqLite), Rest-API (Firebase), GPS в андроїді та з картами гугла. Також авторизація у додатку.
News feed
У рамках завдання студент знайомиться з просунутими способами використання RecyclerView, способами посторінкового завантаження даних із Rest-API із збереженням у базу даних та робота без доступу до мережі.
Forecast
У рамках завдання студент знайомиться з просунутими способами використання RecyclerView, завантаження даних через Rest-API та додаткові можливості геолокації.
Telegram
В рамках завдання студент знайомиться з роботою з чужим кодом та підтримкою наявних додатків.
Попередні вимоги
- Мати змогу написати кілька додатків по гайдам з ютубу/юдемі
- Вміння працювати з Recycler, Jetpack Compose - на рівні гайдів, розуміння архітектури додатків
- Знання англійської мови на рівні читання технічної документації
Особливості курсу
- Швидкість проходження курсу залежить від вас. Швидше вчитесь - менше платите. Середній час проходження 6-8 місяців.
- 7 днів тестового періоду
- Менторинг
- Безкоштовна заморозка
Ментори курсу
- Олександр Дудник - Senior Android Developer
- Максим Кичук - Android Developer at Grid Dynamics
- Роман Криволапов - Senior Android Developer at Digital
- Олексій Кравченко - Android Developer at TrackEnsure Inc
- Дан Гладштейн - Android Software Engineer at YIT - Yedioth Information Technology
- Руслан Мамедов - Android Developer at Luxoft
- Павло Зоря - Android Engineer at EPAM Systems
- Python
Курс "Python для початківців" призначений для тих, хто хоче вивчити цю мову та працювати з нею. Після проходження курсу Python Start — ти володієш основами мови Python, які дозволять тобі розвиватися далі самостійно або на наших курсах Python менторинг.
Програма курсу
Урок 1 - Введення та налаштування
Теорія:
- Коротко про Python і цей курс
- Змінні та операції
Практика:
- Установка Python оточення
- Установка PyCharm
- Пишемо Hello World
- Використовуємо:
- Змінні
- Арифметичні дії
- Конкатенація (склеювання рядків)
Урок 2 - Структури даних
Теорія:
- Списки, кортежі
- Словники, сети
- Цикли
Практика:
- Створити перелік, кортеж, сет, словник
- Здійснити базові операції над створенними структурами (додавання, звернення до елементів)
- Написати цикли обходу структурами і вивести результати в консоль
Урок 3 - Функції, файли
Теорія:
- Функції
- Робота з файлами - функція open
Практика:
- Створення функцій
- Відкрити файл для читання, прочитати вміст
- Відкрити файл на запис, записаті дані
Урок 4 - Класи та об'єкти
Теорія:
- Класи
- Об'єкти
- Поля
- Методи
- Як з ними працювати
- Порівняння
Практика:
- Створення класу:
- Поля
- Методи
- Примірники класів (об'єкти)
- Робота з класами:
- Порівняння об'єктів
- Друк об'єктів
Урок 5 - ООП
Теорія:
- Навіщо потрібне ООП успадкування
- Перевизначення методів
Практика:
- Створити ієрархію спадкування
- Перевизначити методи базового класу
Урок 6 - Додаткові інструменти
Теорія:
- Декоратори
- Контекстний менеджер
- Обробка помилок
Практика:
- Написати декоратор
- Написати контекстний менеджер
- Написати функцію, де викликати виняток. Викликати створену функцію з іншої функції та обробити в ній цей виняток.
Попередні вимоги
- Вільне володіння комп'ютером
- Вміння читати англійський текст
Особливості курсу
- Необмежений доступ до відео-лекцій та завдань
- Допомога в чаті Слак
- Сертифікат по проходження курсу
Автори курсу
Костянтин Зівенко - Lead Software Engineer
Подать заявку- JavaScript
Наш курс для початківців — JavaScript з нуля полегшує студентам процес підготовки до основних курсів Front End Developer або Node.js Developer. На курсі ви познайомитеся з базою мови JavaScript і це дасть вам старт для подальшого вивчення цього напрямку.
Програма курсу
Середивище виконання
На цьому етапі ми встановимо весь інструментарій, що достатній для знайомства з мовою програмування JavaScript. До них відносяться платформа Node.js та IDE VS Code. З цими інструментами ми будемо працювати протягом усього курсу.
Змінні
Тут ми познайомимося зі змінними, дізнаємось яке їх призначення, що ми можемо зберігати в змінних і розглянемо синтаксис (правила) створення зміних.
Структури даних
На цьому етапі розглянемо структури даних, які використовуються в JS, такі як об'єкти, масиви, Map, Set. Розглянемо окремо кожен з них, наведемо приклади навіщо кожен з них використовують і які їх особливості.
Логічні операції, цикли. функції, помилки
Тут ми розглянемо дуже важливі конструкції які застосовуються для розробки реальних програм, подивимося як працювати з кожним з них, і розглянемо на прикладах навіщо кожен із них застосовується і які завдання вони вирішують.
Класи та екземпляри класів
В цьому розділі ми розкриємо тему класів. Які елементи є у класів, як вони взаємодіють, для чого вони використовуються, як допомагають робити нашу програму більш зрозумілою та простою до змін.
ООП
ООП - об'єктно-орієнтоване програмування. Підхід, який використовується у величезній кількості проєктів. Ця тема буде продовженням класової теми. Розглянемо поняття успадкування, інкапсуляції та поліморфізм, у чому їх особливість та які проблеми вони вирішують.
Особливості JS
У цій секції ми розглянемо деякі особливості JS, такі як асинхронність. Розглянемо у чому її переваги перед синхронністю. Також трохи розкриємо тему об'єктів у контексті JS, ключове слово this для JS, і що таке пакетний менеджер і чим він корисний для розробника.
Попередні вимоги
- Вільне володіння комп'ютером
- Вміння читати англійський текст
Особливості курсу
- Онлайн курс
- Необмежений доступ до відео-лекцій і завдань
- Допомога в чаті Slack
- Сертифікат по проходженню курсу
Автори курсу
Олексій Честних - Node.JS Developer
Подать заявку- Java
Ми вирішили зробити свій власний курс, в якому можна обмежитися тільки тим, що абсолютно необхідно. Зробити стартову сходинку для наших майбутніх студентів максимально простою і зрозумілою. Після проходження курсу Java Start – ти володієш основами мови Java, які дозволять тобі розвиватися далі самостійно або на наших курсах Java менторинг.
Програма курсу
Урок 1: Вступ та налаштування
Теорія:
- Про що і навіщо курс, що в ньому буде, чого не буде
- Про JDK
- Змінні та операції
Практика:
- Встановлення JDK та Eclipse
- Пишемо Hello World
- Використовуємо:
- Змінні
- Арифметичні дії
- Конкатенація (зклеювання строк)
Урок 2. Класи та об'єкти
Теорія:
- Що таке:
- Класи
- Об'єкти
- Поля
- Методи
- Як з ними працювати:
- Порівняння
- Друк
Практика:
- Створення класу:
- Поля
- Методи
- Екземпляри класів (об'єкти)
- Робота з класами:
- Порівняння об'єктів
- Друк об'єктів
Урок 3. Основи ООП
Теорія:
- Наслідування
- Поліморфізм
- Перевизначення методів
- Перевантаження методів
- Абстрактні методи
- Інтерфейси
Практика:
- Створити:
- ієрархію наслідування
- в цій ієрархії створити поліморфну поведінку
- перевизначений метод
- перевантаження методів
- абстрактний метод та імплементувати його
- інтерфейс та інплементувати його
Урок 4. Колекції та керуючі конструкції
Теорія:
- Масиви
- Колекції
- Цикли
- Умовні оператори
Практика:
- Створити:
- масив
- колекцію
- цикл обходу по масиву та колекції
- додати до логіки програми умовний оператор
Результат
Після проходження курсу Java Start - ти володієш основами мови Java, які дозволяють тобі розвиватися далі самостійно або на наших курсах Java менторинг.
Попередні вимоги
- Вільне володіння комп'ютером
- Вміння читати англійський текст
Особливості курсу
- Онлайн-курс
- Необмежений доступ до відео-лекцій і завдань
- Допомога в чаті Slack
- Сертифікат по завершенню курсу
Автори курсу
Сергій Немчинський - 20 років у програмуванні, з них 15 років у Java Certified Scrum Master
Подать заявку- iOS Development
- Swift
Навчання відбувається онлайн: ви вивчаєте курс з нуля у своєму темпі, переглядаючи відео-лекції та виконуючи практичні завдання від автора курсу. Після проходження курсу Swift Start – ви з нуля осягнете основи Swift, які дозволять вам розвиватися далі самостійно або на наших курсах менторингу iOS
Програма курсу
Вступна частина
Теорія:
- Вступне слово, поради щодо самоорганізації
- Привітання – розповідь про мову, що це, для чого застосовується, у чому переваги, де використовується Swift
Встановлення оточення
Теорія:
- Що таке XCode і для чого він призначений
- Apple Developer аккаунт
- Що таке Playground, як з ним працювати, інструменти
Практика:
- Встановлення XCode
- Робота з Playground
Змінні та базові операції зі змінними
Теорія:
- Змінні та константи
- Конкатенація
- Інтерполяція
Практика:
- Арифметичні операції на прикладі Int
- Робота з виводом у термінал - перша функція print()
- Завдання на роботу з опрацьованим матеріалом
Типи даних
Теорія:
- Базові типи даних
- Масив, Кортеж
- Словар, Сет
Практика:
- Приведення типів даних одного до іншого
- Впізнаємо тип даних за підказками xcode-a
- Базові операції по роботі з масивами, кортежами
- Базові операції по роботі зі словниками, сетами
- Завдання на роботу з кожною колекцією
Оператори керування потоком
Теорія:
- Логічні оператори
- Оператори порівняння
- Цикли
- Опціональні типи даних
Практика:
- Використовуємо if – else, логічні оператори (&&, || etc.), оператори порівняння (<, >, == etc)
- Працюємо з циклами for in, while, repeat while + guard, switch
- Працюємо з опціональними типами даних, optional Binding etc., nil, unwrapping
- Завдання по роботі з операторами в циклі. Завдання на опціонали
Функції
Теорія:
- Що таке функція
- Вступ до замикання
Практика:
- Написання простої функції
- Написання просунутої функції
- Приклади замикань із коробки
- Практика з написання своїх функцій
Кастомні типи даних та їх об'єкти
Теорія:
- Що таке – класи, структури, enum
- Базове введення в Reverence і Value типи
- Об'єкти типів – базове введення в ініціалізатори
- Базове введення в Протокол
- Збережені властивості
- Extensions
- Методи об'єктів
Практика:
- Методи об'єктів (object.doSome())
- Методи типів (static/class SomeClass.doSome())
- Написання та виклик методів і типів даних
- Створюємо свої типи даних
ООП
Теорія:
- Що таке ООП
- Послідування
- Поліморфізм
- Інкапсуляція
Практика:
- Послідування, поліморфізм на прикладі класів і масивів
- Інкапсуляція – атрибути private etc
Перший додаток
Теорія:
- Ведення в XCode проєкт
- Що таке симулятор
Практика:
- XCode: створюємо проєкт, вивчаємо інтерфейс, Storyboard, симулятор
- Работуємо перший повноцінний застосунок
Попередні вимоги
- Вільне володіння комп'ютером
- Вміння читати англійський текст
- Наявність будь-якого Apple комп'ютера для розробки
Особливості курсу
- Онлайн курс
- Необмежений доступ до відео-лекцій і завдань
- Без-перевірки
- Допомога в чаті Slack
Викладачі курсу
Олександр Олійник - iOS Engineer
Подать заявку- Golang
За час навчання на курсі ви познайомитеся з найпопулярнішими інструментами роботи, покращите навичку роботи з інтерфейсом через командний рядок, створіть кілька чат-ботів. Крім того, ви зрозумієте, як працювати з популярними хмарними сервісами, починаючи з AWS. Для наполегливіших студентів передбачені заняття з більш складних тем, вибір яких обговорюватиметься з викладачем. Загалом, отриманих на курсі знань достатньо, щоб починати шукати роботу як Junior Golang Developer.
Програма курсу
Git Course
Вiдеокурс по GitLab допоможе вам зрозуміти основні концепції та інструменти, які використовуються для керування проєктами програмного забезпечення. Під час цього курсу ви ознайомитеся з основами системи контролю версій Git та платформою GitLab, яка надає широкий спектр можливостей для спільної роботи над кодом, відстеження змін, управління задачами та багато іншого. Ви дізнаєтеся, як ефективно використовувати GitLab для спільної роботи в команді, ведення проєктів та забезпечення якості програмного забезпечення.
CLI
У цьому блоці студенти зможуть засвоїти CLI (Command-line interface) за допомогою багатої внутрішньої бібліотеки Go, а також познайомляться, як працювати з часом у Go. Дізнаються, як писати юніт тести.
Чат-боти
У цьому блоці студенти зроблять кілька своїх чат-ботів. За підсумками блоку вони зрозуміють як краще організовувати свій код, як працювати з http.Client і також як користуватися зовнішніми API.
REST
У цьому блоці студенти напишуть REST API для керування користувачами. Для його реалізації вибрано один із найбільш використовуваних фреймворків Echo. Вимоги додаються з кожним завданням у блоці, тому погано організований код доведеться рефакторити. Також вони познайомляться з Docker. Крім того, у них буде можливість ознайомитися з SQL і зрозуміти різницю між SQL і NoSQL базами даних (БД).
Advanced topics
Останній блок навчання включає знайомство з gRPC протоколом, який дуже часто використовується для побудови мікросервісної архітектури. Студентам доведеться розділити свій проект по блоку REST та реалізувати спілкування з БД через gRPC.
Попередні вимоги
- Знання загальної Computer Science
- Базове розуміння будь-якої мови програмування
- Знання англійської мови на рівні читання технічної документації
Особливості курсу
- Швидкість проходження курсу залежить від вас. Швидше вчитесь - менше платите. Середній час проходження курсу 3 місяці
- 7 днів тестового періоду
- Менторинг
- Безкоштовна заморозка
Викладачі курсу
- Сергій Пожидаєв - Golang Software Engineer at Sigma Software
- Юлія Боцева - Golang Developer at Gamingtec
- Денис Оленін - CTO moai.team at MoaiTeam
- Дмитро Сташкевич - Senior Backend Developer at Auvik
- Анастасія Лизогубенко - Goland Developer at DGN Games
- Михайло Панько - Backend Engineer at Relay Payments
- Ярослав Кожемяка - Goland Software Engineer at Acaisoft
- Микола Баран - Senior Software Engineer, Team Lead at Приватбанк
- Микола Гриньків - Team Lead Engineer at Luxoft
- C / C++
Навчання відбувається в онлайн-форматі: ви вивчаєте основи у своєму темпі, переглядаючи відео-лекції та виконуючи практичні завдання від автора курсу. Після проходження курсу C++ Start – ти володієш основами мови C++, які дозволять тобі розвиватися далі самостійно або на наших курсах менторингу Unreal Engine.
Програма курсу
Введення та налаштування
Теорія:
- Про що і навіщо курс, що в ньому буде, чого не буде
- Що пишуть на C++
Практика:
- Встановлення Visual Studio
- Створюємо проєкт із методом main
- Пишемо Hello World
Керуючі конструкції та типи даних
Теорія:
- Строкові змінні
- Конкатенація рядків
- Арифметичні операції
- Ключове слово const
- Логічні типи даних
- Конструкція switch-case
- Масиви, цикл for
- Цикли while і do-while
- Керуючі оператори
- Цикли break, continue, цикл while (true)
- Вказівники
Практика:
- Змінюємо "Hello, World" на "Hello, <name>"
- Читаємо прості формули
- Читаємо з консолі температуру води, говоримо, в якому вона стані
- Читаємо з консолі порядковий номер дня тижня, виводимо словами
- Створюємо const-змінну
- Створюємо масив
- Переписуємо цикли через while
- Зчитуємо числа з консолі
- Розіменовуємо вказівники
Основи функціонально-процедурного програмування
Теорія:
- Аргументи функції та значення, що повертається
- Процес складання програми в C++
Практика:
- Пишемо функцію
- Переносимо формули до функції
- Створюємо .h та .cpp файли
Класи та об'єкти
Теорія:
- Що це таке:
- Класи
- Об'єкти
- Поля
- Методи
- Статичний поліморфізм
- Динамічне виділення пам'яті
Практика:
- Створення класу та об'єкту класу
- Додавання атрибутів класу, геттерів/сеттерів до них + зчислення класу
- Додавання методів
- Визначення методів
- Написання конструктора та деструктора
- Використання операторів new та delete
Елементи ООП
Теорія:
- Спадкування
- Модифікатори під час спадкоємства
- Dynamic cast
- Перевизначення методів
- Поліморфізм і ключове слово virtual. Віртуальний деструктор
- Абстрактний клас і чисто віртуальні методи
- Передача об'єктів у методи за значенням і за посиланням
Практика:
- Створити:
- ієрархію успадкування
- у цій ієрархії створити поліморфну поведінку
- переобумовлений метод
- перевантаження методів
- абстрактний клас і імплементувати його
- інтерфейс і імплементувати його
- Використовуємо virtual. Робимо деструктор класу віртуальним
Попередні вимоги
- Вільне володіння комп'ютером
- Вміння читати англійський текст
Особливості курсу
- Онлайн курс
- Необмежений доступ до відео-лекцій і завдань
- Без перевірки
- Допомога в чаті Slack
Викладачі курсу
Олександр Басалкевич - Senior C++ Engineer
Подать заявку- C# / .NET
Ми вирішили зробити свій власний курс, в якому можна обмежитися лише тим, що абсолютно необхідно. Зробити стартову сходинку для наших майбутніх студентів максимально простою і зрозумілою. Після проходження курсу C# Start — ти володієш основами мови C#, які дозволять тобі розвиватися далі самостійно або на наших курсах C#/.NET менторинг
Про курс
Програма курсу
Урок 1: Вступ та налаштування
Теорія
- Про що і навіщо курс, що в ньому буде, чого не буде
- Про .NET Core SDK
- Змінні та операції
Практика
- Встановлення .NET Core JDK і Visual Studio
- Пишемо Hello World
- Використовуємо:
- Змінні
- Арифметичні дії
- Конкатенація (зклеювання строк)
Урок 2. Класи та об'єкти
Теорія
- Що таке:
- Класи
- Об'єкти
- Поля
- Методи
- Як з ними працювати:
- Порівняння
- Друк
Практика
- Створення класу:
- Поля
- Методи
- Екземпляри класів (об'єкти)
- Робота з класами:
- Порівняння об'єктів
- Друк об'єктів
Урок 3. Основи ООП
Теорія
- Наслідування
- Поліморфізм
- Перевизначення методів
- Перевантаження методів
- Абстрактні методи
- Інтерфейси
Практика
- Створити:
- ієрархію наслідування
- в цій ієрархії створити поліморфну поведінку
- перевизначений метод
- перевантаження методів
- абстрактний метод та імплементувати його
- інтерфейс та імплементувати його
Урок 4. Колекції та керуючі конструкції
Теорія
- Масиви
- Колекції
- Цикли
- Умовні оператори
Практика
- Створити:
- масив
- колекцію
- цикл обходу по масиву та колекції
- додати до логіки програми умовний оператор
Попередні вимоги
- Вільне володіння комп'ютером
- Вміння читати англійський текст
Особливості курсу
- Необмежений доступ до відео-лекцій та завдань
- Сертифікат по завершенню курсу
Автори курсу
Павло Ромашук - Fullstack Developer
Подать заявку- Java
Курс Java – найстаріший курс в компанії Foxminded. Наші студенти вивчають лише ті технології і методи розробки, які затребувані на ринку. На нашому курсі студент також може отримати досвід роботи з Java Enterprise Edition. Зазвичай на навчальних курсах з цим розділом Java студентів не знайомлять, але саме досвід в комерційній розробці відкриває двері в найбільші компанії світу.
Програма курсу
Git Course
Вiдеокурс по GitLab допоможе вам зрозуміти основні концепції та інструменти, які використовуються для керування проєктами програмного забезпечення. Під час цього курсу ви ознайомитеся з основами системи контролю версій Git та платформою GitLab, яка надає широкий спектр можливостей для спільної роботи над кодом, відстеження змін, управління задачами та багато іншого. Ви дізнаєтеся, як ефективно використовувати GitLab для спільної роботи в команді, ведення проєктів та забезпечення якості програмного забезпечення.
Clean code
Ці завдання дозволяють новачку Java освоїтися з новою для нього мову і з досить жорсткими вимогами по оформленню коду, прийнятими в світі Java. Так само ця група завдань навчає студента користуватися таким потужним інструментом розробки як юніт-тести з використанням JUnit. Познайомить із Collection Framework, Java Stream API, Java Time API.
Getting familar with Spring Boot
На простому прикладі консольної програми студент почне знайомство з найпопулярнішим на ринку фреймворком SpringBoot. Крок за кроком студент опанує роботу з базою даних Jdbc API, Hibernate, Spring Data JPA.
Spring Boot fullstack Web Application
У цьому розділі буде розроблено повноцінну програму для управління розкладом невеликого університету або школи. Продовжуючи поглиблювати свої знання студент спробує у дії Spring MVC, Thymeleaf бібліотеку шаблонів для обробки та створення HTML, XML, JavaScript, CSS та тексту, Validation API, навчиться основ управління безпеки додатків Spring Security.
Modern REST API services with Spring Boot
Однією з головних ніш сучасного світу є Java побудова мікросервісів. У даному розділі буде реалізовано простий мікросервіс на основі технології REST, вивчено роботу з безпекою на основі JWT, систему авто документації rest сервісів стандарту OpenApi 3.0, та автоматичне створення зручного UI для роботи з ним, частково розглянута тема Docker для контейнеризації програми.
Попередні вимоги
- Знання General OOP/SOLID, Git, Java Core, SQL basics
- Знання англійської мови на рівні читання технічної документації
Особливості курсу
- Швидкість проходження курсу залежить від вас. Швидше вчитесь - менше платите. Середнє проходження 6-8 місяців
- Сертифікат по завершенню курсу
- Безкоштовна заморозка
- 7 днів тестового періоду
Ментори курсу
- Антон Гусєв - Technical Lead
- Євген Андрушко - Senior Java Developer at Woo Network
- Костянтин Іванов - Lead Software Engineer (Java) at EPAM Systems
- Станіслав Кордик - Fullstack Developer (Java, Angular) at Telclic
- Микола Клушин - Senior Java Software Engineer at SoftServe
- Дмитро Олійник - Middle Java Developer at airSlate
- Петро Вергелес - Senior Java Developer at Newxel
- Вікторія Мирська - Software Engineer at Avenga
- Ростислав Приймак - Java Developer at SPD-Ukraine
- Євген Зварич - Senior Software Engineer at EPAM Systems
- Олександр Павлюк - Java Developer at NGsoft
- Ірина Димитреєва - Java Developer at Binariks
- Владислав Вербівський - Java Developer at Sagax
- Данило Бубній - Strong Middle Java Engineer at Intellias
- Владислав Телухін - Intermediate Software Engineer at VITech
- Микола Лихожон - Java Team Lead at Ngoar
- Роман Юшин - Java Software Engineer at GlobalLogic
- Ярослав Темченко - Java Developer at Luxoft
- Владислав Шулєпов - Data Engineer at Apptopia Inc
- Михайло Червінко - Java Developer at EPAM
- Олександр Марченко - Java Developer at Webxloo
- Сергій Висоцький - Senior Software Engineer at Keyfactor
- Ярослав Кульпін - Strong Middle Java Developer at Luxoft
- Євген Єрмоленко - Java Software Engineer at VARTEQ Inc
- Володимир Крохмалюк - Java Developer at SoftServe
- Тетяна Єфіменко - Senior Java Developer at N-IX
- Богдан Сіренко - Software Engineer at SAP
- Андрій Шилін - Java Developer at EPAM
- Віталій Гайнулін - Java Developer at EPAM
- Fullstack
Усього в курсі буде розглянуто 35 шаблонів. Для кожного з шаблонів передбачається відео-лекція та практичні завдання.
Програма курсу
Вступ до дизайн паттернів:
- OOP
- UML
- Поняття паттерну та історія їх створення
Шаблони Grasp
- Information Expert
- Creator
- Controller
- Low Coupling
- High Cohesion
- Polymorphism
- Pure Fabrication
- Indirection
- Protected Variations
Шаблони GoF. Creational
- Abstract Factory
- Builder
- Factory Method
- Object Pool
- Prototype
- Singleton
Шаблони GoF. Structural
- Adapter
- Bridge
- Composite
- Decorator
- Facade
- Flyweight
- Proxy
Шаблони GoF. Behavioral
- Chain of Responsibility
- Command
- Interpreter
- Iterator
- Mediator
- Memento
- Observer
- State
- Strategy
- Template method
- Visitor
Рефакторинг та антипаттерни
Бонусом ми торкнемося теми рефакторінга і антипаттернів.
Як проходить навчання
- Ти отримуєш доступ до відеозаписів і відразу на практиці спробуєш написати код за шаблоном
- Розглянемо всі 35 GRASP and GOF дизайн-паттернів
- Приклади отримуєш на Java/C#, але здаєш на "рідній" мові. Завдання перевіряє ментор курсу
Умови навчання
- Безлімітний зв'язок з ментором
- Доступ до контенту 24/7
- Вебінар 1 раз в 14 днів з закритим чатом
- Практика на кожному з 35 шаблонів
- Перевірка завдань протягом 2-х місяців
Для кого курс
- Якщо ти вже кодер або тільки закінчив IT-курси на мові: Java, PHP, Python, Ruby, C#, C++ (будь-яка ООП мова)
- Не підійде фанатам не ООП мов: Go, Java Script etc
Викладачі курсу
Сергій Немчинський - 20 років у програмуванні, з них 15 у Java
Подать заявку- DevOps
Програма курсу
Git Course
Вiдеокурс по GitLab допоможе вам зрозуміти основні концепції та інструменти, які використовуються для керування проєктами програмного забезпечення. Під час цього курсу ви ознайомитеся з основами системи контролю версій Git та платформою GitLab, яка надає широкий спектр можливостей для спільної роботи над кодом, відстеження змін, управління задачами та багато іншого. Ви дізнаєтеся, як ефективно використовувати GitLab для спільної роботи в команді, ведення проєктів та забезпечення якості програмного забезпечення.
Linux
На цьому етапі ви поглибите свої знання з адміністрування unix like систем, встановлюючи власні сервіси та розгортаючи Redis, Nginx, RabbitMQ, PostgreSQL, MySql, Wireguard VPN тощо, навчитеся писати автоматизацію на bash і використовувати Docker.
CI/CD
Цей блок дозволить вам освоїти основи контролю версій за допомогою Git, створити базовий CI/CD пайплайн у GitLab. Ви також додасте збірку, тести та використання Docker у пайплайні, розширюючи можливості автоматизації розробки та релізу додатків.
Kubernetes
Вивчаючи Kubernetes, ви налаштуєте середовище Minikube, розгорнете застосунок, вивчите комплексні об'єкти kubernetes та best practices по роботі з kubernetes, навчитеся використовувати helm та kustomize для повторного використання маніфестів.
AWS & IaC
Цей блок допоможе розібратися з Terraform для опанування IaC підходу і використання останнього для роботи з AWS. Ви розгорнете різноманітні ресурси, від базових EC2 та S3 до серверлес-застосунків на Lambda. Налаштуєте додаток на EC2, перенесет його на ECS та після зробите його повністю serverless.
Стек технологій курсу
- Linux
- Docker
- CI/CD
- Terraform
- AWS
- Ansible
- Kubernetes
Детально про необхідні навички для навчання
- Досвід роботи з Linux на рівні користувача, тобто: вміти поставити софт, редагувати, копіювати, видаляти, перейменувати файли, підключитися по ssh, працювати з консоллю
- Англійська достатня для розуміння завдання і документації
Додаткові матеріали для підготовки до курсу
- Linux tutorial
- Linux journey
Особливості курсу
- Онлайн доступ до стандартної програми курсу
- Без лекцій, без теорії, тільки практичні завдання
- Навчання 1 на 1 з особистим ментором
- Тестовий період 7 днів
- Один з трьох привілеїв на вибір: (Менторинг+)
- два code review в день
- можливість змінити стандартну програму курсу (забрати або додати теми)
- можливість спілкуватись з ментором у визначений вами час
Викладачі курсу
Андрій Горобченко - DevOps Engineer
Подать заявку- Python
Цей курс стане чудовим рішенням для Python-розробників, які хочуть глибше зануритися в сучасні технології розробки API, працювати з FastAPI та впроваджувати DevOps-підходи у свої проєкти. Після завершення курсу ви отримаєте не тільки знання, а й практичний досвід, який допоможе вам реалізовувати складні проєкти у реальному середовищі.
Програма курсу
Модуль 1. Знайомство з FastAPI
Objective 1: FastAPI. Створення простого API. Моделі, валідація даних. Автогенерація документації
- Що таке FastAPI?
- Переваги FastAPI
- Встановлення FastAPI
- Створення функцій обробки запитів
- Pydantic
- Створення моделей даних
- Створення правил валідації
- Що таке ін'єкція залежностей?
- Dependens у FastAPI.
- Особливості використання pydantic моделей як залежностей
- Сервіс автодокументації
Objective 2: MultiThreading, MultiProcessing, Async/Await. Асинхронна взаємодія у FastApi
- Основні концепції взаємодії - багатопоточність, однопоточність, асинхронна та воркери
- Хто такий Gil. Чому всі про нього говорять, хоча ніхто не бачив
- EventLoop як із ним працювати
- Міграція синхронного коду в асинхронний
- uvloop
- lifespan
- Використання ipython в ассинзронному режимі
- Тестування асинхронних веб-сервісів з pyTest
Objective 3: Робота з базами даних
- Інтреграція SqlAlchemy + PostgresSql
- Підключаємо Alembic
- Асинхронна взаємодія з БД з використанням asyncpg (SqlAlchemy, DatabaseIo)
- Особливості реалізації асинхронної взаємодії в SqlAlchemy. Проблема асинхронного доступу до реляційних зв'язків в ORM
Objective 4: Авторизація запиту. Хендлер помилок
- Авторизація. Навіщо, для чого і як
- Авторизація з JWT-токеном
- Вбудовані механізми авторизації користувачів
- Помилки, обробка та призначення
- Створення користувацьких хендлерів помилок
Objective 5: Робота з No-Sql
- Redis - навіщо і для чого
- Підключаємо до проєкту
- Основи роботи з Redis
- Реалізація механізму кешування
- Асинхронні запити в Redis
Objective 6: Логування та запуск
Налаштування логування.
Модуль 2. Контейнеризація сервісу з використанням докера
Objective 1: Створення образу Docker для FastAPI
- Що таке Docker?
- Переваги Docker
- Встановлення Docker
- Підготовка вихідного коду
- Створення образу Docker і запуск проєкту
Objective 2: Запуск проєкту FastAPI в Docker за допомогою DockerCompose
- Що таке DockerCompose?
- Переваги DockerCompose
- Контейнеризуємо наш проєкт
- Безперервне постачання коду в контейнеризованих середовищах
Objective 3: Фонові завдання у FastApi
- Виконання фонових завдань у FastApi
- Інтеграція Celery (Глибоке занурення)
- Знайомство з Broker (RabbitMQ, ZabitMQ, Kafka)
Модуль 3. Міжсервісна взаємодія
Objective 1: Реалізація міжсервісної взаємодії та Створення інфраструктури з використанням контейнерів
- API і міжсервісна взаємодія.
- Протокол взаємодії - JSON, RPC, XML та екзотика
- Способи реалізації (http протокол, tcp/ip, gRPC)
- Від моноліту до мікросервісів із використанням технології контейнеризації
- Створення єдиної інфраструктури в контейнеризованих середовищах
- Що таке проксі-сервер (єдина точка входу)
- Створення простого проксі-сервера для локальної розробки
Objective 2: Асинхронна міжсервісна взаємодія
- Реалізація з використанням саб-клієнт на Aiohttp і httpX
- Особливості реалізації
Попередні вимоги
- Базові знання Python - розуміння синтаксису мови, роботи з функціями, класами, списками, словниками та основними бібліотеками
- Досвід роботи з веб-технологіями - HTTP, JSON
- Знання англ. мови на рівні читання технічної документації
Особливості курсу
- Допомога ментора
- Практика
- Сертифікат про проходження курсу
- Цвидкість проходження курсу залежить від вас
- Онлайн курс з форматом менторингу
Викладачі курсу
- Олексій Фрундін - Python Developer
- Костянтин Зівенко - Lead Software Engineer at ExSol LTD







