занять
занять на тиждень
старт
За тиждень записалося
Залишилося
Стань веб-розробником!
Курс призначений для глибокого вивчення мови програмування JavaScript і бібліотеки React, яка використовується для створення складних Front-end додатків.
Популярна мова JavaScript використовується при створенні веб-додатків для додання інтерактивності веб-сторінок. Написання коду в React дуже схоже на роботу в HTML, що дає можливість легко почати писати код, упустивши синтаксис. Одна з головних особливостей React — свобода дій.
На курсі ви познайомитеся з принципами ООП, DOM, REST API і отримаєте практичні навички створення додатків з використанням «реакт-стека», що дозволить претендувати на посаду Junior Front-end Developer.
Цілі курсу
- Навчитися взаємодіяти з серверами за допомогою JavaScript
- Освоїти ООП
- Навчитися працювати з REST API
- Вивчити всі особливості бібліотеки React
- Вивчити всі нюанси: від того, як працює DOM, до того, як зібрати додаток Webpack-ом
Вивчаємо такі технології
-
ES6
-
Git
-
MongoDB
-
DOM
-
AJAX
-
jQuery
-
JavaScript
-
React
Програма курсу
Front-end Pro

-
Знайомство з JS
- Знайомство та план курсу
- Взаємодія з користувачем через примітивні функції
- Введення в технологію веб-розробки
- Підключення скриптів, перший запуск програми
- Коментарі
- Git. Github
-
Змінні
Оголошення змінних
Сплив змінних (hoisting)
Порівняння var, let, const
Типи даних
Шаблонні рядки
-
Оператори
Перетворення типів
Математичні оператори
Оператори порівняння
Логічні оператори
Скорочені арифметичні оператори
Унарні оператори
Пріоритет операторів
-
Типи даних
Примітивні типи
Посилальний тип
-
Умовні конструкції
Умовна конструкція if/else if/else
Умовна конструкція switch/case
Тернарний оператор
-
Цикли
- Введення в цикли
- Види циклів
- Цикл while
- Цикл do while
- Цикл for
- Цикл for...in
- Цикл for...of
- break, continue
- Вкладені цикли
- Нескінченні цикли
-
Масиви
Основи роботи з масивами
Варіанти створення масивів
Методи для роботи з масивами
Перебір масивів
Методи перебору масиву
Видалення елементів з масивів
-
Функції
Основи роботи з функціями
Варіанти створення функцій
Параметри функцій, значення за промовчанням
Передача параметрів функції
Область видимості функції
Псевдо-масив arguments
Повернення значення з функції
Стрілочні функції
Відмінності стрілочних функцій від звичайних
Функція вищого порядку
Функція-коллбек
Рекурсія
-
Замикання
Що таке замикання?
Лексична область видимості
-
Контекст виконання функції
Глобальний об'єкт window (глобальний контекст)
Функціональний контекст
Функції в об'єктах (методи)
Методи підміни контексту
-
ООП
Основні поняття ООП
Функції-конструктори
class constructors
Прототипне успадкування
Відмінність Prototype від __proto__
Створення об'єкта з певним прототипом
Присвоєння об'єкту прототипу вже створеному об'єкту
Геттери та Сеттери в об'єктах та класах
Робота з class
Спадкування в classes
-
Робота з об'єктами
Створення об'єктів
Object.freeze, Object.seal
Копіювання об'єктів та масивів
Додавання та видалення властивостей/методів в об'єкті
Object.defineProperty
Геттери та Сеттери в об'єктах
Object.hasOwnProperty
-
Coding Best Practices
use strict
JSON
Налагодження коду (debugging)
Coding best practices
Принципи проектування
Базові практики рефакторингу
Бібліотеки та фреймворки — оглядове заняття
Обробка помилок
Unit-тестування
-
Безпека
Огляд уразливостей XSS, CORS.
-
Модулі
- CommonJS, ESModules
-
Асинхронне виконання коду
- EventLoop
-
Робота із структурами даних
Map
Set
WeakMap, WeakSet
-
DOM
Що таке DOM?
Отримання елементів за допомогою DOM-методів
Створення/видалення елементів з DOM
Керування атрибутами та вмістом DOM-елементів
-
Events
Додавання обробників-подій DOM-елементам
Можливі події
Фази обробки подій
Делегування подій
Об'єкт Event
-
BOM
window
location
screen
history
navigation
Планування виконання коду
-
Форми
Основні елементи керування
Базові навички роботи з елементами управління з JS
Сheckboxes
Select
-
WebStorages
Cookies
Робота з Cookies в JS
LocalStorage
SessionStorage
-
Регулярні вирази
Регулярні вирази
Варіанти створення регулярних виразів
Модифікатори регулярних виразів
Методи для роботи з регулярними виразами
Шаблони регулярних виразів
-
Робота з глобальними об'єктами
Math
String
Number
Date
-
NPM + Node.js
Початок роботи з NPM
npm scripts
Огляд технології Node.js
Створення сервера на Node.js
Postman
Приклад створення сервера з express
Приклад роботи свого фронтенду зі своїм бекендом
-
ESNext
EcmaScript
Babel
Spread & Rest оператори
Деструкція
Symbol
Iterators
Generators
-
Promises
Вступ до Promises
Стан promise
then
Обробка помилок у Promise
Обробка кількох Promise
async…await
-
Gulp
Огляд систем збирання
Gulp
Оптимізація коду
eslint
watch
livereload
sass
gulp-connect
series, parallel
-
HTTP
Огляд клієнт-серверної архітектури
HTTP
WebSockets
Приклади відкритих APIs
-
Ajax
Знайомство з Ajax
XMLHttpRequest
fetch
-
React
Введення в React
Create-react-app
Види компонентів
Вступ до JSX, conditional rendering
Virtual DOM
State в класовому компоненті
State batching
Робота з props у компонентах
Життєвий цикл класового компонента
Обробка подій у React, синтетичні події
Хуки у функціональних компонентах
Маршрутизація (роутинг) в React
Робота з формами в React
Обробка помилок, Error Boundary
Вступ до Redux
Redux-thunk
Бібліотеки компонентів на прикладі Antd
Тестування програми React
Бонуси курсу
Додайте навички в резюме
-
JavaScript (Примітиви, Об'єкти, Масиви, Функції)
-
Навички маніпуляції із DOM деревом
-
Основні патерни програмування
-
ООП у JavaScript
-
Робота з REST API
-
MVC/MVP/MVVM архітектури
-
Бібліотека ReactJS для SPA
-
Принципи роботи роутингу на прикладі бібліотеки react-router
-
Зберігання стану програми на прикладі redux та redux-thunk
Як проходить навчання
Переваги навчання у Комп'ютерній школі Hillel
-
Групи по 17 осіб Викладач приділяє час кожному студенту.
-
Викладачі практики У нас викладають тільки практикуючі фахівці з топових IT-компаній.
-
Система особистих кабінетів Ефективне і зручне навчання.
-
Оперативна служба підтримки студентів Термінові питання — своєчасне рішення.
-
Доступ до відеозаписів занять Записи уроків залишаються у студентів після закінчення навчання.
-
Практичні заняття Велика частина занять орієнтована на практику.
-
Що ми робимо для того, щоб ви досягли успіху?
-
Проводимо майстер-класи з підготовки резюме та пошуку роботи
-
Регулярно оновлюємо програми курсів під вимоги ринку
-
Запрошуємо викладати тільки кращих практикуючих фахівців
-
Розвиваємо нашу мережу партнерів серед топових IT-компаній
-
Наші викладачі часто самі забирають до себе наших кращих Студентів ;)
Наші викладачі та випускники працюють в топових IT-компаніях світу
Часті питання
-
Який потрібно мати комп'ютер, щоб навчатися на курсі Front-end Pro?
Вимоги до комп'ютера для навчання на курсі Front-end Pro.
Операційна система:
- Windows 10 64-біт
- macOS 10.13 або вище
- Linux: Ubuntu 16.04 - 20.04
Процесор* :
- Мінімум intel core i5 4-го покоління
- Рекомендується i5 7-го
Оперативна пам'ять:
- Мінімум 8 Гб
- Рекомендується 16 Гб
Пам'ять:
- Мінімально 500 Гб HDD і більш
- Рекомендується 200 Гб SSD і більш
* Допустимі аналоги від AMD
-
Ваші викладачі беруть участь у будь-яких проектах / чи працюють вони по їх IT-спеціалізації / чи мають досвід викладання?
У нашій школі викладають тільки практикуючі фахівці (не нижче Senior-рівня) з найбільших IT-компаній міста. Навчання вони проводять, орієнтуючись на останні тенденції IT-ринку для того, щоб наші випускники мали найбільш затребувані знання і досвід.
-
Де можна подивитися відгуки про вашу Школу?
Ви можете прочитати відгуки наших Студентів та Випускників на нашому сайті за цим посиланням. Ще ви зможете знайти відгуки і інформацію про нас на DOU.ua або можете прописати назву нашої Школи у Google, де ви також зможете побачити відгуки про нашу Школу у Google-акаунті або на Google-картах.
-
Чи будуть задавати домашнє завдання? Чи перевіряється виконане завдання викладачем?
Так! Адже це обов'язкова і дуже важлива частина процесу Вашого навчання. Оскільки кожен студент повинен закріпити весь отриманий на занятті матеріал вдома, за допомогою виконання домашнього завдання. Кожне задане ДЗ буде перевірятися разом з усією групою і викладачем на наступному занятті. Без дотримання даного пункту ніхто не зможе домогтися очікуваного результату.
-
Теорія або практика? Чому приділяється більше часу на заняттях?
Метою більшості курсів нашої Школи є можливість подальшого працевлаштування наших Студентів та Випускників. Тому ми робимо упор на опрацювання та вивчення практичних кейсів, найбільш актуальних на даний момент у роботі тієї чи іншої спеціальності IT-сфери. Безумовно, ми відводимо час на наших заняттях і на вивчення важливої теоретичної бази, яка також необхідна будь-якому фахівцеві. Але зазвичай у процентному співвідношенні теорії приділяється близько 30% часу заняття і 70% — практиці.
-
Як отримати максимальний бал за домашнє завдання?
Виконання домашніх робіт, одна з найважливіших складових навчання. Для того, щоб отримати максимальний бал за домашнє завдання, потрібно:
- Виконати завдання в зазначені терміни
- Виконати всі умови завдання
- Виконати завдання без помилок
- Перездача домашнього завдання не більше одного разу
-
Як я можу сплатити за навчання?
Оплата провадиться через виставлення інвойсу на E-mail через сервіси LiqPay та Fondy.
- Як пройти співбесіду по JS? І навіщо?
- 83713
- 3391
Як пройти співбесіду по JS? І навіщо?
дивитись 71 хв-
Юрій Федоренко Senior Front-End Developer у MacPaw
- Замикання у JavaScript
- 48472
- 3125
Замикання у JavaScript
дивитись 6 хв-
Юрій Федоренко Senior Front-End Developer у MacPaw
- Як пройти співбесіду по JS? І навіщо? vol.2
- 29335
- 1811
Як пройти співбесіду по JS? І навіщо? vol.2
дивитись 69 хв-
Юрій Федоренко Senior Front-End Developer у MacPaw
- JavaScript. Робота з API Telegram, Youtube, VK
- 17062
- 152
JavaScript. Робота з API Telegram, Youtube, VK
дивитись 61 хв-
Петро Кучер JS Developer у Playtika
- Об'єкти і робота з ними в Javascript
- 15718
- 504
Об'єкти і робота з ними в Javascript
дивитись 122 хв-
Савелій Сичов Software Engineer у Microsoft
- Про роботу з DOM в Javascript
- 14200
- 429
Про роботу з DOM в Javascript
дивитись 114 хв-
Савелій Сичов Software Engineer у Microsoft