- 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
- Gamedev / Unity / Game Design
Програма курсу
Trainee Level (1 Етап)
C# Start
Урок 1: Вступ та налаштування
- Про що і навіщо курс, що в ньому буде, чого не буде
- Про .NET Core SDK
- Змінні та операції
Практика
- Встановлення .NET Core JDK і Visual Studio
- Пишемо Hello World
- Використовуємо:
- Змінні
- Арифметичні дії
- Конкатенація (зклеювання строк)
Урок 2. Класи та об'єкти
- Що таке:
- Класи
- Об'єкти
- Поля
- Методи
- Як з ними працювати:
- Порівняння
- Друк
Практика
- Створення класу:
- Поля
- Методи
- Екземпляри класів (об'єкти)
- Робота з класами:
- Порівняння об'єктів
- Друк об'єктів
Урок 3. Основи ООП
- Наслідування
- Поліморфізм
- Перевизначення методів
- Перевантаження методів
- Абстрактні методи
- Інтерфейси
Практика
- Створити:
- ієрархію наслідування
- в цій ієрархії створити поліморфну поведінку
- перевизначений метод
- перевантаження методів
- абстрактний метод та імплементувати його
- інтерфейс та імплементувати його
Урок 4. Колекції та керуючі конструкції
- Масиви
- Колекції
- Цикли
- Умовні оператори
Практика
- Створити:
- масив
- колекцію
- цикл обходу по масиву та колекції
- додати до логіки програми умовний оператор
Задачі перед менторингом
Розділ 1. Робота з примітивними типами даних
В розділі 10 задач на роботу з примітивними типами даних.
Розділ 2. Умовні оператори
Розділ містить 10 задач на закріплення навичок роботи з умовними операторами.
Розділ 3. Цикли
Цей розділ мscnbnm 10 задач для вирішення за допомогою циклів for та while.
Розділ 4. Масиви
10 задач на роботу з масивами.
Junior Level (2 Етап)
Unity
Підготовка
На цьому етапі ви встановите редактор для безпосередньо розробки ігор, і додаткові пакети на ПК - для складання під смартфони та 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.
Strong Junior Level (3 Етап)
Проєкт 1
Класична free-to-play головоломка для мобільних платформ. Ви будете працювати над підтримкою та розвитком мобільної гри. Робота з рекламними SDK (Appodeal), Admob, Adjust. Передбачається робота з популярними системами аналітики:
- Flurry
- Firebase Analytics
- Unity analytics
Особливості курсу
- Допомога ментора
- Практика
- Проєкт у портфоліо
- Особистий куратор
- Сертифікат про проходження курсу
- Допомога з оформленням LinkedIn
- Перевірка резюме
- Пробна співбесіда
- Вебінар по софт-скілам
- Python
Програма курсу
Trainee Level (1 Етап)
Python Start
Урок 1 - Введення та налаштування
- Коротко про Python і цей курс
- Змінні та операції
Практика:
- Установка Python оточення
- Установка PyCharm
- Пишемо Hello World
- Використовуємо:
- Змінні
- Арифметичні дії
- Конкатенація (склеювання рядків)
Урок 2 - Структури даних
- Списки, кортежі
- Словники, сети
- Цикли
Практика:
- Створити перелік, кортеж, сет, словник
- Здійснити базові операції над створенними структурами (додавання, звернення до елементів)
- Написати цикли обходу структурами і вивести результати в консоль
Урок 3 - Функції, файли
- Функції
- Робота з файлами - функція open
Практика:
- Створення функцій
- Відкрити файл для читання, прочитати вміст
- Відкрити файл на запис, записаті дані
Урок 4 - Класи та об'єкти
- Класи
- Об'єкти
- Поля
- Методи
- Як з ними працювати
- Порівняння
Практика:
- Створення класу:
- Поля
- Методи
- Примірники класів (об'єкти)
- Робота з класами:
- Порівняння об'єктів
- Друк об'єктів
Урок 5 - ООП
- Навіщо потрібне ООП успадкування
- Перевизначення методів
Практика:
- Створити ієрархію спадкування
- Перевизначити методи базового класу
Урок 6 - Додаткові інструменти
- Декоратори
- Контекстний менеджер
- Обробка помилок
Практика:
- Написати декоратор
- Написати контекстний менеджер
- Написати функцію, де викликати виняток. Викликати створену функцію з іншої функції та обробити в ній цей виняток
Задачі перед менторингом
Розділ 1. Робота з примітивними типами даних
В розділі 10 задач на роботу з примітивними типами даних.
Розділ 2. Умовні оператори
Розділ містить 10 задач на закріплення навичок роботи з умовними операторами.
Розділ 3. Цикли
Цей розділ мscnbnm 10 задач для вирішення за допомогою циклів for та while.
Розділ 4. Масиви
10 задач на роботу з масивами.
Junior Level (2 Етап)
Python
Git Course
Вiдеокурс по GitLab допоможе вам зрозуміти основні концепції та інструменти, які використовуються для керування проєктами програмного забезпечення. Під час цього курсу ви ознайомитеся з основами системи контролю версій Git та платформою GitLab, яка надає широкий спектр можливостей для спільної роботи над кодом, відстеження змін, управління задачами та багато іншого. Ви дізнаєтеся, як ефективно використовувати GitLab для спільної роботи в команді, ведення проєктів та забезпечення якості програмного забезпечення.
Clean code
Це завдання допомагає навчитися писати якісний код відповідно до стандарту PEP-0008, структурувати код, застосувати різні підходи та паттерни.
Unit tests
Студент, виконуючи це завдання, знайомиться з написанням юніт тестів, інструментами для перевірки покриття коду тестами.
Collections & Command line interface & Packaging
Виконуючи цю групу завдань, студент отримує навички написання коду, додавання до готового коду функціоналу для роботи через консоль і, зрештою, створення пакету на базі існуючого функціоналу.
Report
Це завдання дає можливість навчитися працювати з файлами, сортувати дані та писати повноцінний пакет використання в наступних задачах.
Flask
Дана група завдань дозволяє набути досвіду роботи з фреймворком Flask. Написати повноцінний додаток з веб-інтерфейсом та API. Отримати досвід роботи з декількома бібліотеками ORM такими як peewee і SQLAlchemy.
DjangoGramm & DjangoWeatherRemider
Працюючи над завданнями цієї групи, студент виконує реальні завдання, які зазвичай зустрічаються в роботі Fullstack developer-а. Тут є всі етапи починаючи з проєктування структури програми, роботи над веб-інтерфейсом та API, інтеграцією зі сторонніми сервісами та закінчуючи деплоєм у продакшн. Студент отримує досвід роботи з Django, REST Framework, Celery, Redis, PostgerSQL, webpack, bootstrap, etc.
DjangoAir ERP system
Це завдання, по суті фінальний акорд, для її вирішення потрібно застосувати всі накопичені знання та вміння, що потребує нестандартних рішень та підходів.
FastAPI
- Objective 1: FastAPI. Створення простого API. Моделі, валідація даних. Автогенерація документації
- Objective 2: MultiThreading, MultiProcessing, Async/Await. Асинхронна взаємодія в FastApi
- Objective 3: Робота з базами даних
- Objective 4: Авторизація запиту. Хендлер помилок
- Objective 5: Робота з No-Sql
- Objective 6: Логування та запуск
Strong Junior Level (3 Етап)
Проєкт 1
Python + React
Проєкт "Платформа для благодійної організації, що займається опікою над безпритульними котиками (міні-притулок для котів)". Система має за мету поширити інформацію про діяльність організації, інформацію про котів, що потребують прихистку, збору донатів для роботи притулку, покупки кормів і т.д.
Проєкт 2
JuniorSpace (Python + React)
JuniorSpace - це платформа, спрямована на об'єднання молодих IT-фахівців та громадських організацій для створення команд, які розробляють інноваційні рішення в області інформаційних технологій. Мета проєкту - створити сприятливе середовище для розвитку новачків у сфері IT, одночасно допомагаючи соціально важливим проєктам.
Особливості курсу
- Допомога ментора
- Практика
- Проєкт у портфоліо
- Особистий куратор
- Сертифікат про проходження курсу
- Допомога з оформленням LinkedIn
- Перевірка резюме
- Пробна співбесіда
- Вебінар по софт-скілам
- Frontend
Програма курсу
Trainee Level (1 Етап)
JavaScript Start
Середивище виконання
На цьому етапі ми встановимо весь інструментарій, що достатній для знайомства з мовою програмування JavaScript. До них відносяться платформа Node.js та IDE VS Code. З цими інструментами ми будемо працювати протягом усього курсу.
Змінні
Тут ми познайомимося зі змінними, дізнаємось яке їх призначення, що ми можемо зберігати в змінних і розглянемо синтаксис (правила) створення зміних.
Структури даних
На цьому етапі розглянемо структури даних, які використовуються в JS, такі як об'єкти, масиви, Map, Set. Розглянемо окремо кожен з них, наведемо приклади навіщо кожен з них використовують і які їх особливості.
Логічні операції, цикли. функції, помилки
Тут ми розглянемо дуже важливі конструкції які застосовуються для розробки реальних програм, подивимося як працювати з кожним з них, і розглянемо на прикладах навіщо кожен із них застосовується і які завдання вони вирішують.
Класи та екземпляри класів
В цьому розділі ми розкриємо тему класів. Які елементи є у класів, як вони взаємодіють, для чого вони використовуються, як допомагають робити нашу програму більш зрозумілою та простою до змін.
ООП
ООП - об'єктно-орієнтоване програмування. Підхід, який використовується у величезній кількості проєктів. Ця тема буде продовженням класової теми. Розглянемо поняття успадкування, інкапсуляції та поліморфізм, у чому їх особливість та які проблеми вони вирішують.
Особливості JS
У цій секції ми розглянемо деякі особливості JS, такі як асинхронність. Розглянемо у чому її переваги перед синхронністю. Також трохи розкриємо тему об'єктів у контексті JS, ключове слово this для JS, і що таке пакетний менеджер і чим він корисний для розробника.
Задачі перед менторингом
Розділ 1. Робота з примітивними типами даних
В розділі 10 задач на роботу з примітивними типами даних.
Розділ 2. Умовні оператори
Розділ містить 10 задач на закріплення навичок роботи з умовними операторами.
Розділ 3. Цикли
Цей розділ мscnbnm 10 задач для вирішення за допомогою циклів for та while.
Розділ 4. Масиви
10 задач на роботу з масивами.
Junior Level (2 Етап)
React
Git Course
Вiдеокурс по GitLab допоможе вам зрозуміти основні концепції та інструменти, які використовуються для керування проєктами програмного забезпечення. Під час цього курсу ви ознайомитеся з основами системи контролю версій Git та платформою GitLab, яка надає широкий спектр можливостей для спільної роботи над кодом, відстеження змін, управління задачами та багато іншого. Ви дізнаєтеся, як ефективно використовувати GitLab для спільної роботи в команді, ведення проєктів та забезпечення якості програмного забезпечення.
Передмова
Для всіх завдань курсу, які передбачають наявність дизайнів, ми надаємо їх у Figma, де вони чітко опрацьовані талановитим дизайнером. Тож у вас не виникне запитань щодо того, який вигляд має бути у виконаного завдання. У розділі React, окрім базових завдань, є завдання із зірочкою, спрямовані на найамбітніших студентів, щоб зробити ваше навчання ще цікавішим і наповненим відчуттям подолання виклику.
HTML/CSS
- Верстка сторінки відповідно до наданого дизайну, використовуючи Flex
- Верстка адаптивної веб-сторінки, використовуючи Flex і Grid для двох різних макетів
- Створення форми, аналогічної дизайну, обов'язково використовуючи всі зазначені інпути
- Створення анімації з використанням CSS
- Створення сторінки з паралакс-ефектом, де прокрутка покаже 4 пори року
- Створення сторінки документації з використанням дизайну
- Створення каруселі згідно з дизайном
- Фінал. Верстка повноцінної адаптивної веб-сторінки з використанням усіх вивчених у курсі технік
JavaScript
- Зміна кольору фону сторінки, що випадково генерується, під час кліку на кнопку
- Створення сторінки ресторанного меню з фільтрацією елементів за натисканням кнопки
- Сортування масиву різними способами (Bubble Sort, Sort by choice, Insertion Sort, Quicksort, Merge Sort)
- Реалізація класу валідації для перевірки строкових даних (OOP challenge)
- Створення віджета погоди з можливістю пошуку
- Створення списку завдань (Todo list) відповідно до дизайну. Todo list повинен зберігатися в cookie з обмеженим терміном дії
- Створення сторінки зі списком країн з можливістю переключитися на темну тему оформлення, фільтрацією за регіоном і пошуком за назвою
- Створення онлайн-магазину з кошиком покупок. Використання local storage
- JavaScript на серверній стороні (Node.js, Express). Створення простого API для додатка TODO
- Створення гри Doodle Jump на JavaScript. (Опціонально)
React
- Вступ до React. Створення mobile gallery app з використанням css/scss modules, styled-components або tailwind на вибір
- Поглиблене занурення в React hooks. Створення простого додатка "Таймер" з використанням useState, useEffect, useMemo, useRef, useCallback
- Форми в React. Створення сторінки з двома формами, використовуючи контрольовані та неконтрольовані компоненти
- Керування станом у React. Створення гри хрестики-нулики з використанням однієї з бібліотек: redux-toolkit, zustand, mobx тощо
- Маршрутизація в React. Створення додатка магазину з навігацією між сторінками, використовуючи react-router або аналогічні бібліотеки
- UI Kit. Створення кастомних компонент (Button, Link, Input, Textarea, Checkbox, SelectMenu, Dropdown, ColorPicker тощо), що використовуватимуться у фінальному проєкті
- Тестування у React. Написання юніт-тестів для UI Kit з попереднього завдання. Використання Jest framework і react-testing-library
- Асинхронні операції в React. Створення клієнт-серверного додатка TODO з асинхронними операціями, використовуючи локальне API із завдання 2.9. Використання однієї з бібліотек: react-query, rtk-query, useSWR, redux-saga та ін.
- Фінальний проєкт - Веб-календар із широким функціоналом
Angular
Git Course
Вiдеокурс по GitLab допоможе вам зрозуміти основні концепції та інструменти, які використовуються для керування проєктами програмного забезпечення. Під час цього курсу ви ознайомитеся з основами системи контролю версій Git та платформою GitLab, яка надає широкий спектр можливостей для спільної роботи над кодом, відстеження змін, управління задачами та багато іншого. Ви дізнаєтеся, як ефективно використовувати GitLab для спільної роботи в команді, ведення проєктів та забезпечення якості програмного забезпечення.
HTML/CSS
- Основи верстки
- Створення макету в стилі "святий Грааль"
- Flex і Grid layouts
- Реалізацію складних інтерфейсів користувача
JavaScript
- Взаємодія з DOM, рядками та масивами
- Об'єктно-орієнтований JavaScript
- Розширення та валідація форм за допомогою JS
- Оновлення веб-сторінок за допомогою AJAX
- Зберігання даних із застосуванням Local та Session Storage
- Збереження проміжних даних із використанням cookie
Angular
- Створення основних компонентів, модулів, моделей та сервісів за допомогою Angular CLI
- Види прив'язки даних
- Вбудовані директиви
- Події та форми
- Використання та створення каналів (pipes)
- Компоненти та їх життєвий цикл
- Служби (Services) та їх провайдери
- Маршрутизація та навігація
- Модулі (створення та використання) та таке відкладене завантаження (lazy loading)
- Асинхронні запити HTTP, використання бібліотеки RxJS
- Зберігання даних із застосуванням Firebase
Vue.js
Git Course
Вiдеокурс по GitLab допоможе вам зрозуміти основні концепції та інструменти, які використовуються для керування проєктами програмного забезпечення. Під час цього курсу ви ознайомитеся з основами системи контролю версій Git та платформою GitLab, яка надає широкий спектр можливостей для спільної роботи над кодом, відстеження змін, управління задачами та багато іншого. Ви дізнаєтеся, як ефективно використовувати GitLab для спільної роботи в команді, ведення проєктів та забезпечення якості програмного забезпечення.
Введення в Vue.js
- Огляд фреймворка
- Створення та використання компонентів
- Встановлення та налаштування середовища розробки
Маршрутизація в Vue та Vue CLI
- Використання Vue Router для навігації в додатку
- Робота з подіями та обробники подій
- Пропси, події компонентів, директиви та реактивність
Vue typescript and configuration
- Робота з конфігурацією Vite та додатковими налаштуваннями
- Створення алгоритмічної задачі
- Створення анімацій
Створення та валідація форм, локалізація тестування
- Створення форм та їх валідація за допомогою VeeValidate
- Використовування ui бібліотеки vuesax
- Основи тестування компонентів та додатку за допомогою VueTestUtils
- Імплементація локалізації за допомогою vue-i18n
Отримання, збереження та управління даними
- Використання Axios або інших інструментів для взаємодії з API
- Введення в управління станом за допомогою Vuex
- Динамічне завантаження даних
Todo список і робота з фаєрбейс
- Робота з фаєрбейс за допомогою vuefire
- Робота з різними типами запитів
- Використання Vue Router для навігації в додатку
SSR за допомогою Nuxt
- Створення проєкту за допомогою Nuxt
- Робота з сторами браузера
- Імплементація проєкту по дизайну
Підсумкова задача
На основі пройденого курсу виконання задачі з використанням останніх тенденцій. Задача може увійти у ваш приклад виконаних задач.
Багатоплатформенний проєкт (опціонально)
На основі пройденого курсу виконання задачі зі створення багатоплатформенного проєкту написаного на quasar.
Strong Junior Level (3 Етап)
Проєкт 1
Java + Angular or React
Проєкт "Платформа для допомоги неприбутковим організаціям у пошуку партнерів, волонтерів та знаходженні виконавців для вирішення повсякденних завдань".
Проєкт 2
Java + Angular or React
Проєкт Learning Management System - інструменти для організації навчального процесу. Java, Spring, мікросервісна архітектура. Інтеграція з Google Calendar, Atlassian Jira.
Проєкт 3
Python + React
Проєкт "Платформа для благодійної організації, що займається опікою над безпритульними котиками (міні-притулок для котів)". Система має за мету поширити інформацію про діяльність організації, інформацію про котів, що потребують прихистку, збору донатів для роботи притулку, покупки кормів і т.д.
Проєкт 4
JuniorSpace (Python + React)
JuniorSpace - це платформа, спрямована на об'єднання молодих IT-фахівців та громадських організацій для створення команд, які розробляють інноваційні рішення в області інформаційних технологій. Мета проєкту - створити сприятливе середовище для розвитку новачків у сфері IT, одночасно допомагаючи соціально важливим проєктам. Платформа пропонує різноманітні інструменти для співпраці та комунікації, такі як веб-сайт, телеграм-чат та соціальні мережі, і реалізує різні форми монетизації для забезпечення стійкості та підтримки проєкту.
Особливості курсу
- Допомога ментора
- Практика
- Проєкт у портфоліо
- Особистий куратор
- Сертифікат про проходження курсу
- Допомога з оформленням LinkedIn
- Перевірка резюме
- Пробна співбесіда
- Вебінар по софт-скілам
- Java
Програма курсу
Trainee Level (1 Етап)
Java Start
Урок 1. Вступ та налаштування
- Про що і навіщо курс, що в ньому буде, чого не буде
- Про JDK
- Змінні та операції
Практика:
- Встановлення JDK та Eclipse
- Пишемо Hello World
- Використовуємо:
- Змінні
- Арифметичні дії
- Конкатенація (зклеювання строк)
Урок 2. Класи та об'єкти
- Що таке:
- Класи
- Об'єкти
- Поля
- Методи
- Як з ними працювати:
- Порівняння
- Друк
Практика:
- Створення класу:
- Поля
- Методи
- Екземпляри класів (об'єкти)
- Робота з класами:
- Порівняння об'єктів
- Друк об'єктів
Урок 3. Основи ООП
- Наслідування
- Поліморфізм
- Перевизначення методів
- Перевантаження методів
- Абстрактні методи
- Інтерфейси
Практика:
- Створити:
- ієрархію наслідування
- в цій ієрархії створити поліморфну поведінку
- перевизначенний метод
- перевантаження методів
- абстрактний метод та імплементувати його
- інтерфейс та імплементувати його
Урок 4. Колекції та керуючі конструкції
- Масиви
- Колекції
- Цикли
- Умовні оператори
Практика:
- Створити:
- масив
- колекцію
- цикл обходу по масиву та колекції
- додати до логіки програми умовний оператор
Java Tools
Урок 1. Вступна лекція
- Вступна лекція
- Знайомство:
- встановлення JDK
- встановлення Eclipse
- консольний додаток
Урок 2. JUnit, TDD, Tomcat
- JUnit
- TDD
- debug
- Про сервера додатків, Tomcat
- Запуск найпростішого додатку
- Веб-додатку на JSP
Урок 3: PostgreSQL, SQL
- Установка PostgreSQL
- Підключення до бази даних через Driver Manager
- Використання SQL
Урок 4: Git
- Системи контролю версій
- Встановлення git
- Створення власного проєкту в репозиторії
- Робота з репозиторієм
- Бренчі, теги
Урок 5: Ant, maven, gradle
- Системи побудови проєктів
- Ant, maven, gradle
- Перетворення проєкту в maven
Урок 6: Linux, Shell, Telnet
- Основи Linux
- Shell
- Telnet, FTP, SSH
Задачі перед менторингом
Розділ 1. Робота з примітивними типами даних
В розділі 10 задач на роботу з примітивними типами даних.
Розділ 2. Умовні оператори
Розділ містить 10 задач на закріплення навичок роботи з умовними операторами.
Розділ 3. Цикли
Цей розділ мscnbnm 10 задач для вирішення за допомогою циклів for та while.
Розділ 4. Масиви
10 задач на роботу з масивами.
Junior Level (2 Етап)
Java Spring
Git Course
Вiдеокурс по GitLab допоможе вам зрозуміти основні концепції та інструменти, які використовуються для керування проєктами програмного забезпечення. Під час цього курсу ви ознайомитеся з основами системи контролю версій Git та платформою GitLab, яка надає широкий спектр можливостей для спільної роботи над кодом, відстеження змін, управління задачами та багато іншого. Ви дізнаєтеся, як ефективно використовувати GitLab для спільної роботи в команді, ведення проєктів та забезпечення якості програмного забезпечення.
Clean Code
Ці завдання дозволяють новачкові Java освоїтися з новою для нього мовою і з досить жорсткими вимогами по оформленню коду, прийнятими в світі Java. Так само ця група завдань навчає студента користуватися таким потужним інструментом розробки як юніт-тести з використанням JUnit. Познайомить із Collection Framework, Java Stream API, Java Time API.
Getting familiar with Spring Boot
На простому прикладі консольної програми студент почне знайомство з найпопулярнішим на ринку фреймворком SpringBoot. Крок за кроком студент опанує роботу з базою даних Jdbc Api, Hibernate, Spring Data JPA.
Spring Boot fullstack Web application
У цьому розділі буде розроблено повноцінну програму для управління розкладом невеликого університету або школи. Продовжуючи поглиблювати свої знання студент спробує у дії SpringMVC, 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 для контейнеризації програми.
Strong Junior Level (3 Етап)
Проєкт 1
Java + Angular or React
Проєкт "Платформа для допомоги неприбутковим організаціям у пошуку партнерів, волонтерів та знаходженні виконавців для вирішення повсякденних завдань".
Проєкт 2
Java + Angular or React
Проєкт Learning Management System - інструменти для організації навчального процесу. Java, Spring, мікросервісна архітектура. Інтеграція з Google Calendar, Atlassian Jira.
Особливості курсу
- Допомога ментора
- Практика
- Проєкт у портфоліо
- Особистий куратор
- Сертифікат про проходження курсу
- Допомога з оформленням LinkedIn
- Перевірка резюме
- Пробна співбесіда
- Вебінар по софт-скілам
- C# / .NET
Програма курсу
Trainee Level (1 Етап)
C# Start
Урок 1: Вступ та налаштування
- Про що і навіщо курс, що в ньому буде, чого не буде
- Про .NET Core SDK
- Змінні та операції
Практика:
- Встановлення .NET Core JDK і Visual Studio
- Пишемо Hello World
- Використовуємо:
- Змінні
- Арифметичні дії
- Конкатенація (зклеювання строк)
Урок 2. Класи та об'єкти
- Що таке:
- Класи
- Об'єкти
- Поля
- Методи
- Як з ними працювати:
- Порівняння
- Друк
Практика:
- Створення класу:
- Поля
- Методи
- Екземпляри класів (об'єкти)
- Робота з класами:
- Порівняння об'єктів
- Друк об'єктів
Урок 3. Основи ООП
- Наслідування
- Поліморфізм
- Перевизначення методів
- Перевантаження методів
- Абстрактні методи
- Інтерфейси
Практика:
- Створити:
- ієрархію наслідування
- в цій ієрархії створити поліморфну поведінку
- перевизначений метод
- перевантаження методів
- абстрактний метод та імплементувати його
- інтерфейс та імплементувати його
Урок 4. Колекції та керуючі конструкції
- Масиви
- Колекції
- Цикли
- Умовні оператори
Практика:
- Створити:
- масив
- колекцію
- цикл обходу по масиву та колекції
- додати до логіки програми умовний оператор
Задачі перед менторингом
Розділ 1. Робота з примітивними типами даних
В розділі 10 задач на роботу з примітивними типами даних.
Розділ 2. Умовні оператори
Розділ містить 10 задач на закріплення навичок роботи з умовними операторами.
Розділ 3. Цикли
Цей розділ мscnbnm 10 задач для вирішення за допомогою циклів for та while.
Розділ 4. Масиви
10 задач на роботу з масивами.
Junior Level (2 Етап)
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.
Strong Junior Level (3 Етап)
Проєкт 1
C#/.NET
Learning Tracking System - система для трекінгу часу витраченого на навчання. Система допомагає організувати навчальний процес і стежити за тим, скільки часу приділяється тому чи іншому предмету чи завданню.
Особливості курсу
- Допомога ментора
- Практика
- Проєкт у портфоліо
- Особистий куратор
- Сертифікат про проходження курсу
- Допомога з оформленням LinkedIn
- Перевірка резюме
- Пробна співбесіда
- Вебінар по софт-скілам
- Python
Наш курс націлений на те, щоб показати як працює Python інструментарій, навчити вас писати прості програми, запускати їх на виконання, деплоїти на простий сервер додатків і дебажити код для знаходження помилок. Так само ми навчимо вас користуватися базами даних, створювати нову БД і підключати її до свого проєкту.
Програма курсу
Модуль 1. Вступна лекція
- Вступна лекція
- Розвиток мови Python
- Встановлення мови Python
- Встановлення PyCharm
- Консольний застосунок
Модуль 2. Git
- Системи контролю версій
- Встановлення git
- Створення власного проєкту в репозиторії
- Робота з репозиторієм
- Бренчі, теги
Модуль 3. Web Development Basics
- Введення у веб-розробку з Python
- Встановлення та налаштування проєкту з Flask
- Створення простого веб-додатка та робота з маршрутами у Flask
- Робота з шаблонами у Flask
- Встановлення та налаштування проєкту Django
- Створення додатка та робота з представленнями Django
- Використання шаблонів у Django
Модуль 4. Databases and ORM
- Введення до баз даних
- Встановлення PostgreSQL
- Налаштування бази даних та створення початкових таблиць
- Використання ORM - SQLAlchemy для Flask
- Використання Django ORM для роботи з базами даних
Модуль 5. Advanced Web Development
- Створення та документування API з використанням OpenAPI у Flask
- Додавання безпеки у Flask за допомогою JWT
- Django Rest Framework - створення та документування API
- Додавання безпеки у Django за допомогою JWT
- Створення REST API з FastAPI
- Docker і контейнеризація програм
Модуль 6. Build Systems and Package Management
- Введення до системи складання проєктів, огляд поточних систем збирання (setuptools, distutils)
- Робота з pip та віртуальними середовищами
- Огляд інших інструментів (pipenv, pip-tools, PDM, Poetry)
Модуль 7. Unit Testing, Debugging and TDD
- Введення в юніт-тестування та unittest
- Інтеграція юніт-тестів в існуючі проєкти
- Введення в pytest: плюси та мінуси в порівнянні з unittest
- Дебаггінг: навіщо він потрібний і як працює
- Вступ до TDD (Test-Driven Development)
Модуль 8. Unix-like Systems for Developers
- Введення в Unix-like системи
- Основні команди Unix для програмістів
- Робота з віддаленими серверами (SSH, SCP)
- Налаштування оточення для розробки на Unix системах
Особливості курсу
- Відеоуроки з теорією
- Практичні завдання
- Online навчання в зручний для вас час
- Допомога в чаті Zulip
- Сертифікат про проходження курсу
Викладачі курсу
Ігор Сініцин - DevOps Services
Подать заявку- Gamedev / Unity / Game Design
Програма курсу
Семестр 1
- Інтерфейс Roblox Studio
- Об'єкти й ефекти
- Робота з ландшафтом
- Написання скриптів мовою Lua
- Використання циклів, масивів, подій
- Групування та збереження об'єктів в Roblox Studio
- Параметри швидкості та сили
- Таблиці/масиви, очікування подій, joints
Фінальні проєкти:
- Гра "Лабіринт з зомбі"
- Гра в стилі runner
Семестр 2
- Діалоги, опції, події з функціями
- Клонування об'єктів, ClickDetector
- Міжскриптова взаємодія
- Верстка UI, об'єкти-параметри Value
- Робота з камерами
- Публікація гри в Roblox та тестування
Фінальні проєкти:
- Гра "Пекельна машина проти зомбі"
- Індивідуальний проєкт з власною ідеєю
Семестр 3
- Знайомство з TinkerCAD
- Інструменти методів 3D-моделювання
- Створення 3D-об'єкту
- Інструменти матричного розміщення
- ToolBox Roblox Studio
- 3D-моделювання ландшафту
- Текстурування, моделювання звірів
- Спецефекти звукового та світлового типу
- Моделювання механічних пристроїв
- Завантаження в ToolBox Roblox Studio
Фінальні проєкти:
- Гра по мотивам фільму "Месники"
- Індивідуальний фінальний проєкт з власною ідеєю
Семестр 4
- 3D-моделювання у Blender
- Імпорт 3D-об'єктів з Blender в Roblox
- Робота зі світлом
- Об’єкти і їх модифікатори: дзеркалювання, масив, фаска, поділ поверхні
- Рух об'єктів скриптом, звуки для руху об'єктів
- Анімація через кнопки
- Моделювання тварин з реалістичним підтекстом
- 3D-моделювання обличчя у Blender
- Перетворення персонажа в NPS-модель
Фінальні проєкти:
- Анімована магічна паличка, яка імпортується в Roblox
- Індивідуальний фінальний проєкт з власною ідеєю
Roblox Kids
- Інструменти для створення ландшафтів
- Основи редагування об'єктів у Roblox Studio
- Базові функції Union, Negate, Separate для роботи з 3D-моделями
- Робота в команді, базові навички комунікації, сумісне вирішення завдань
- Ефекти частинок, створення вогню, диму та інші візуальні ефекти
- Анімація персонажів
- Вивчення основ програмування через вдосконалення вже готових скриптів
- Робота із звуковими ефектами
- Створення повноцінних проєктів на основі шаблонів і самостійних ідей
- Застосування анімації персонажів у проєктах
- Створення складних ефектів та моделей
- Організація власного проєкту
- Фінальний проєкт: Розробка власної гри або інтерактивного світу
Особливості курсу
- Відслідковування успішності учнів, відвідувань занять, спілкування з батьками
- Зворотній зв'язок на завдання та підтримка від менторів
- Гнучкі умови та зручний розклад: заняття в будні чи вихідні
- Навчання на зручній платформі, де зберігаються записи уроків
- Турботливі викладачі, які навчають дітей правилам безпечного користування платформою
- Ігрова атмосфера, в якій дитина прагне дізнаватися нове та з нетерпінням чекає наступного уроку
- Створення проєкту у вигляді власної гри, який дитина розробляє самостійно та презентує іншим
Викладачі курсу
- Владислав - 2+ роки досвід Unity i C#
- Анна - 3+ роки досвіду розробки власних ігор та проєктів
- Андрій - Java Developer
- Маргарита - Основний стек - JS, C++, HTML, CSS
- Роман - Основний стек - JS, LUA, Python, HTML, CSS
- Python
GoITeens створили професійний курс програмування мовою Python, адаптований для школярів. Все, як у дорослих! В основі навчальної програми лежить популярний курс від платформи GoIT, після якого студенти починають кар’єру в програмуванні. Програма Python для дітей також випускає Junior-спеціалістів. Ми не просто знайомимо з програмуванням, а готуємо до роботи в реальних проєктах.
Програма курсу
Python Junior
1 Модуль
- Алгоритми та вирішення проблем
- Змінні та математичні вирази
- Базові команди, рядки та текст у Turtle
- Умовні оператори та цикли
- Малювання складних фігур
- Базовий синтаксис Python
- Розробка геймплею
- Графіка та дизайн гри
- Планування та дизайн гри
- Реалізація ігрової логіки
Фінальні проєкти:
- Гра "Черепашні перегони"
- Гра "Втеча з лабіринту"
Python Pro
Python Core
- Рядки та методи рядків
- Функції, аргументи, повернення результату
- Принципи роботи map і filter
- Введення в кортежі та множини
- Словники. Основи рекурсії
- Використання власних і сторонніх модулів
- Обробка винятків. Генератори та ітератори
- Принципи ООП
- Тестування та документування коду
- Фінальний проєкти:
- Гра "Хрестики-нолики"
- Програма "Конвертер валют"
- Додаток "Планування подій"
Python Web
- Принципи веб-розробки
- Робота з базами даних
- Менеджмент даних у веб-проєктах
- Flask маршрутизація та шаблони
- Бібліотеки для роботи з базами даних
- Парсинг даних
- Фінальний проєкт:
- Проєкт "Генератор резюме"
- Створення телеграм-бота
Python Data
- Реляційні бази даних та використання SQL для роботи з ними
- Моделювання сутності-зв'язку
- Розробка діаграм для баз даних
- Діаграми UML для проектування програмного забезпечення
- NoSQL бази даних
- Бібліотеки Python для аналізу даних
- Обчислення за допомогою NumPy
- Обробка та аналіз табличних даних
- Візуалізація даних за допомогою Matplotlib та Seaborn
- Побудова прогностичних моделей у Scikit-Learn
- Реалізація алгоритмів на Python
- Розробка власних структур даних
- Алгоритми сортування та пошуку
- Алгоритми динамічного програмування, backtracking
- Вирішення задач на платформах LeetCode, HackerRank, або Codeforces
- Фінальний проєкти:
- Звіт даних зі збором та візуалізацією
- Мобільний додаток "Місто пошуку"
Особливості курсу
- Кабінет студента - навчальні матеріали, записи уроків, завдання та пояснення доступні 24/7 в особистому кабінеті
- Онлайн-формат - уроки проходять у Google Meet за чітким розкладом. Займатися можна віддалено з будь-якого місця
- Фокус на практику - студенти відпрацьовують задачі з реальних сфер використання Python та створюють власні проєкти
- Навчальні групи - в групах до 15 учніів, що дозволяє вчителям використовувати індивідуальний підхід
- Зворотній зв'язок - перевірка домашніх завдань від викладачів та менторство допоможе швидше просуватися
Викладачі курсу
- Дмитро - 5+ років досвіду програмування на Python
- Максим - Python Developer at Enapps
- Тетяна - Має досвід з мовами програмування JavaScript, C та Python
- Олександра - 2+ роки досвід викладання
- Олександр - Викладач та ментор програмування на Python
- Frontend
- WEB Developer / Webmaster
Вивчіть основи HTML/CSS, JavaScript та запустіть свій перший сайт.
Програма курсу
За тиждень кожен охочий зробить власний сайт-календар. За допомогою HTML/CSS можна візуалізувати 3 цілі, а також список навичок, необхідних для їхньої реалізації. А за допомогою JavaScript - динамічні графіки.
Урок 1. Знайомство з HTML/CSS/JavaScript. Налаштування редактору коду
Виконуємо перші завдання з програмування у тринажері. Завантажуємо і налаштовуємо редактор коду VS Code.
Урок 2. Робота з зображеннями та посиланнями. Запуск проєкту в редакторі
Практикуємо HTML/CSS/JavaScript в тринажері для створення фотографій і посилань на власному сайті. Запускаємо свій готовий проєкт в редакторі VS Code.
Урок 3. Фінальне налаштування проєкту. Публікація сайту на хостингу
Оформлюємо дошку бажань, використовуючи власний контент: фотографії, текст, цифри. Завантажуємо фінальний проєкт на хостинг Netlify.
Особливості курсу
- Всі завдання в одному місці
- Доступ назавжди
- Спільнота найкращих
- 3 відеоуроки
- 6 практичних занять
- Сертифікат
- Технічна підтримка впродовж всього курсу
- Web & Mobile Design / UI/UX
Якщо ваша дитина демонструє неабиякі творчі здібності, любить малювати, колажувати, вигадувати та створювати контент для соціальних мереж, спробуйте мінікурс з дизайну — можливо, це саме той напрям, який припаде їй до душі.
Програма курсу
Урок 1. Знайомство з Figma. Створюємо шапку сайту
Реєструємося на платформі Figma, знайомимося з навчальними матеріалами та створюємо першу частину вебсайту - header.
Урок 2. Використання іконок в дизайні. Працюємо над секцією "Чому ми?"
Розроблюємо другу частину вебсайту, де використовуємо іконки та описуємо переваги нашої компанії.
Урок 3. Робота з текстом. Пишемо опис своєї компанії
Працюємо над дизайном третьої частини сайту "Хто ми?" - редагуємо текст, додаємо фото та робимо кнопку для заявки.
Урок 4. Обробка отографій. Розроблюємо секцію з командою
Вчимось оформлювати фотографії та додавати візуальні ефекти. Описуємо ролі членів команди.
Урок 5. Створення форми зворотнього зв'язку у Figma. Завершуємо проєкт
Працюємо над створенням форми в останньому блоці сайту та оформлюємо footer. Виносимо фінальні правки та публікуємо проєкт.
Особливості курсу
- Всі завдання в одному місці
- Доступ назавжди
- Спільнота найкращих
- 5 відеоуроків
- 5 практичних занять
- 1 готовий проєкт
- 2D Artist / 2D Illustrator / Graphic Designer
Курс малювання на планшеті від GoITeens - це перспективна альтернатива традиційній художній школі. Наша програма призначена для дітей 8-15 років і створена у такий спосіб, щоб зробити вивчення мистецтва захопливим. Для навчання достатньо встановити безплатну програму Sketchbook, яка підходить для всіх планшетів.
Програма курсу
Малювання на iPad
1 Семестр
- Знайомство з інструментами Procreate
- Пропорційна побудова, світлотіні, основи колористики
- Побудова симетричних форм, композиційний центр
- Ескізи. Візуальний об'єм та розмиття. Кулясті форми
- Стиль аніме
- Графічний малюнок. Чорно-білий малюнок з кольоровим акцентом
- Анімація
- Ізометрія. Повітряна перспектива, світлотіні, тон і колір в просторі
- Побудова мультперсонажів
- Робота з текстом
- Авторський підпис
2 Семестр
- Пропорційна побудова та симетрія, поняття про об'єм
- Кольорознавство. Чорно-білий малюнок
- Поглиблення в анімацію. Анімація рідини. Прозорість в анімації
- Фактури і деталізація малюнку. Лінійна та повітряна перспектива
- Світлотіні простих геометричних форм та на рельєфній поверхні
- Освітлення в просторі. Плановість
- Лінійна перспектива з двома точками сходу
- Пропорції тіла та обличчя. Риси обличчя
- Анатомія голови звіра
- Прийоми вираження фактури, об'єму і простору
3 Семестр
- Комерційна ілюстрація
- Ілюстрація для дитячої книги
- Ілюстрації для реклами та журналів
- Ілюстрація персонажів. Розробка концепції та стиль
- Ілюстрація в стилі лоу-полі
- Цифровий портрет знаменитості
- Автопортрет
- Стилі ілюстрації інтер'єру
- Розробка власного коміксу
4 Семестр
- Створення анімаційного циклу ходьби
- Анімація складних рухів та взаємодії з предметами
- Анімація емоцій персонажа
- Світло та тінь, анімування
- Створення власного стікер-паку
- Створення власних іконок
- Створення реклами для бренду
- Створення анімованого короткометражного мультфільму.
- Самоосвіта та пошук натхнення. Корисні ресурси
- Розробка власних соц мереж, як ілюстратора та аніматора. Аватарка, хайлайтси
Малювання на Android
1 Семестр
- Знайомство з ілюстрацією та її стилями
- Базові пензлі, шари, переміщення та непрозорість
- Лінії, точки, плями. Створення малюнку за допомогою точок та ліній
- Референси, де брати ідеї та як їх розвивати
- Базові форми, композиція з простих геометричних фігур
- Основи скетчінгу, баланс маси та пустоти
- Акварельний живопис. Лінійна та повітряна перспектива
- Відтворення блиску та відбиття світла. Теорія кольору
2 Семестр
- Стилізація та пошук власного стилю. Пошук замовника
- Етикетка для продукту, використання мокапів
- Обкладинка для відео в ютуб
- Ілюстрація в рекламі, арт колаж, ізометрична ілюстрація
- Як створювати ілюстрації для статей
- Основи створення персонажу
- Створення мокапу під друк. Обкладинки для книг та журналів
- Оформлюємо портфоліо на Behance. Робота із замовником
- Проста анімація. Вивчаємо нейромережі для ілюстратора
Особливості курсу
- Допомога ментора
- Практика
- Зворотній зв'язок для батьків
- Проєкт в портфоліо
- Вибір формату навчання 12/24 місяці
- Навчання індивідуально або в групах
- Необхідність мати iPad або Android
Викладачі курсу
- Марина - Digital-художник
- Анастасія - Досвід роботи у Procreate 2+ роки
- Ганна - Досвід роботи у Procreate 2+ роки
- Римма - Досвід роботи у Procreate 2+ роки
- Аліса - Ілюстраторка та графічна дизайнерка
- Наталія - Досвід викладання 4+ роки






