Курсы JavaScript
Курс для начинающих разработчиков, которые уже освоили JavaScript и хотят расширить знания, чтобы работать над более сложными и интересными задачами. В процессе обучения вас ждёт практика на реальных проектах, максимально применимая в работе, и индивидуальный фидбэк от преподавателей.
Программа курса
- Компоненты
- Продвинутые техники, одностраничные приложения
- Redux — управление состоянием
- GIT — система контроля версий
- Дипломный проект
Что вы получите в результате обучения
Что умею делать
- Работать с библиотекой React
- Создавать многостраничные приложения с React Router
- Интегрироваться с REST API
- Разбираюсь в Store, Actions, Reducers, Redux Thunk, Redux Observable, Redux Saga
Ключевые навыки
- Работа с props, управление внутренним состоянием компонента и обработка данных из форм
- Владею продвинутыми техниками композиции компонентов и работы с дочерними компонентами
- Использую самое современное API: хуки и Context API
Чему Вы научитесь
- Применять на практике ES6;
- Настраивать сборку приложения при помощи Webpack;
- Работать с библиотекой ReactJS;
- Настраивать и применять роутинг в ReactJS-приложении;
- Использовать концепцию Flux с применением библиотеки Redux;
- Разбираться в реализации backend на примере использования NodeJS, ExpressJS и MongoDB.
Программа курса
Урок 1. Знакомство с ReactJS. Первые компоненты
Что такое SPA. Зачем нужен webpack. Менеджер пакетов npm. Настройка webpack. Создание первого React-приложения.
Урок 2. Жизненный цикл компонента
ReactComponent, state, componentWillMount и componentDidMount, componentDidUpdate, componentWillUnmount. Вложенность компонентов и props и propTypes. Начало разработки мессенджера.
Урок 3. Virtual DOM. Material UI. PropTypes
Что такое Virtual DOM. Стилизация React-компонентов. Обработка событий. Подключение и
Урок 4. Children. Роутинг в React
prevState и prevProps. Подключение BrowserRouter. Switch, Route и Link. Как осуществляется роутинг. Хранение чатов и сообщений. Способы отладки React-приложения.
Урок 5. Контекст. Компоненты высшего порядка. Знакомство с Redux
Зачем нужен Redux. Схема работы Redux. Reducers и actions. Redux DevTools Extension. Компоненты и контейнеры. Перенос сообщений в Redux.
Урок 6. Погружение в react-redux
Когда нужно использовать Redux middlewares. Реализация ответа от робота при помощи middlewares. ConnectedRouter. Хранение истории сообщений при помощи redux-persist.
Урок 7. Redux middlewares. Redux-persist.
Познакомимся с redux middlewares. Познакомимся с одной из самых популярных библиотек для middlewares - redux-thunk. Научимся использовать redux-thunk для асинхронных действий. Рассмотрим альтернативы redux-thunk - redux-saga и redux-observable. Познакомимся с библиотекой redux-persist. Научимся сохранять данные из стора на стороне клиента.
Урок 8. Работа с API
Что такое API. Как работают асинхронные запросы. Кратко о промисах. fetch(). redux-api-middleware. normalizr и schemas. Получение чатов и сообщений по API.
Урок 9. Знакомство с Firebase
Узнаем о firebase и создадим проект в нем. Научимся подключать авторизацию через email и пароль. Научимся работать с RealtimeDB для сохранения чатов и сообщений.
Урок 10. Тестирование и оптимизация приложений на React
Узнаем о Jest и тестировании приложений на React Научимся использовать Jest и react-testing-library для создания простых тестов. Познакомимся с оптимизацией веб-приложений, узнаем о shouldComponentUpdate и PureComponent. Познакомимся с Lighthouse и узнаем о его метриках.
Кому подойдёт этот курс
- Практикующим JavaScript-разработчикам
Вы освоите работу с фреймворком React.js, увеличите круг своих компетенций и задач, которые сможете выполнять на проекте — станете более конкурентоспособным сотрудником. - Frontend-разработчикамjs — один из самых популярных фреймворков в мире. Вы научитесь создавать изоморфные приложения на React Redux, типизировать их с помощью Typescript и работать с различными публичными сервисами.
Чему вы научитесь
- Создавать приложения с нуля
Конфигурировать их с помощью Webpack или использовать готовые решения. - Работать с публичными API
Узнаете о механизмах OAuth и имплементациях в React. - Познакомитесь с Flux, Redux, Mobx
Узнаете подробности о состоянии приложения и работе с ним. - Профилировать свое приложение
Искать слабые места и оптимизировать их. - Тестировать свое приложение
Познакомитесь с библиотеками Jest и Enzyme. - Создавать SPA и RIA приложения с нуля
Будете применять разные подходы, с SSR или без него, включая деплой в облачный сервис Now.
Программа курса
- Введение в React
- Создание проекта
- Typescript
- Компоненты на примере новостной карточки Reddit
- Hooks и функциональное программирование
- Компоненты - продвинутые темы. Введение в тестирование компонентов
- Работа с публичным API на примере Reddit
- React Context
- Портал и форма
- Введение в Redux на примере поля для ввода комментария
- Использование Redux-Thunk на примере загрузки профиля пользователя
- Формы на примере комментариев и карточки поста
- «Бесконечные» списки на примере ленты постов
- Сайдбар + роутинг
- SSR + NextJS
- Бонусный модуль: Mobx
Кому подойдёт этот курс
- Тем, кто хочет начать карьеру программиста
Вы с нуля научитесь верстать, программировать на JavaScript и разрабатывать полноценные сайты. Освоите полный цикл создания веб-проектов и сможете устроиться в IT-компанию. - Начинающим разработчикам
Вы познакомитесь с Node.js и фреймворками и углубите свои знания. Сможете перейти на позицию fullstack-разработчика в веб-студии или создавать сайты «под ключ» на фрилансе. - Опытным специалистам
Вы изучите Vue.js, React.js или Angular и сможете создавать сложные интерактивные интерфейсы. Получите soft skills для профессионального развития и поймёте, куда двигаться дальше.
Чему вы научитесь
- Верстать сайты
Познакомитесь с HTML и CSS, сможете верстать лендинги и многостраничные адаптивные сайты. Научитесь находить ошибки в чужой вёрстке и исправлять уже готовый код. - Работать с фреймворками
Изучите React.js, Vue.js или Angular и научитесь создавать динамичные интерактивные пользовательские интерфейсы. - Разрабатывать backend сайтов
Узнаете принципы объектно-ориентированного программирования и сможете разрабатывать сайты с разным функционалом на JavaScript с помощью Node.JS. - Работать с базами данных
Узнаете, чем различаются MySQL, Redis и MongoDB. Научитесь управлять большими объёмами данных и получать нужное с помощью запросов. - Использовать Git
Научитесь работать с распределённой системой контроля версий, сможете легко вносить или откатывать изменения и работать над проектом в большой команде. - Работать с сетью
Поймёте, как устроено клиент-серверное взаимодействие, научитесь работать с API и сможете настраивать связь frontend`а и backend`a в рамках одного проекта.
Программа курса
Основные курсы
- Веб-вёрстка. Базовый уровень
- Веб-вёрстка. Продвинутый уровень
- Базовый уровень
- Продвинутый уровень
- js
Курс на выбор
- JavaScript-фреймворк Vue.js
- js
- Angular
Дополнительные курсы
- Универсальные знания программиста
- Курс по слепому методу печати
- Основы Photoshop
- Figma
- Работа в командной строке Bash
- Система контроля версий Git
- Английский для IT-специалистов
- Карьера и развитие программиста
- Soft skills для программиста
Профессиональные навыки:
- Вёрстка сайтов на HTML и CSS
- Работа с протоколами HTTP/HTTPS
- Основы Redux
- Веб-разработка на JavaScript
- Разработка бэкенда с помощью Node.js
- Работа с Web API
- Адаптивная вёрстка
- Работа с базами данных: MySQL, MongoDB, Redis
- Создание веб-приложений на фреймворке React.js/Vue.js/Angular
- Работа с системой контроля версий Git
Кому подойдёт этот курс
- Junior- и middle-тестировщикам
- Научитесь работать с редкими функциями Selenium и писать автотесты на JS с помощью фреймворков. Прокачаете навыки UI-тестов, автоматизируете тестирование с помощью CI/CD и сможете больше зарабатывать.
- Проходящим курс «Профессия Тестировщик»
- Научитесь писать сложные автотесты на JavaScript, работать с фреймворками и непрерывной интеграцией. Добавите ещё один язык программирования в список навыков и сможете претендовать на большее количество вакансий.
Чему вы научитесь
- Писать автотесты
- Разберётесь в функциях и настройках Selenium IDE и научитесь писать автотесты без программирования.
- Программировать на JavaScript
- Изучите синтаксис и основные функции языка, научитесь отлаживать и писать небольшие приложения.
- Работать с фреймворками
- Научитесь использовать Selenium Webdriver и тестовые фреймворки Cypress и Webdriver.io. Сможете создавать тесты с предусловиями и постусловиями.
- Создавать UI-тесты
- Углубитесь в работу с Selenium WebDriver, научитесь пользоваться паттерном PageObject. Сможете тестировать пользовательские интерфейсы.
- Использовать Git
- Научитесь работать с распределённой системой контроля версий и сможете работать над разными версиями проекта в большой команде.
- Автоматизировать тесты
- Научитесь работать с CI/CD и Gitlab. Непрерывная интеграция поможет регулярно проводить автотесты, быстро находить ошибки и не копить технический долг.
Программа курса
Базовые навыки
- Система контроля версий Git
- Автоматизированное тестирование на JavaScript. Часть 1
- JavaScript. Базовый уровень
Продвинутые навыки
- JavaScript. Продвинутый уровень
- Автоматизированное тестирование на JavaScript. Часть 2
Профессиональные навыки:
- Кросс-браузерное тестирование
- Работа с фреймворками Webdriver и тестовым mocha.js
- Создание простых и сложных UI-тестов на Selenium WebDriver
- Знание CI/CD и настройка Gitlab
- Написание автотестов на JavaScript
- Работа с Git
- Работа с Selenium IDE
- Работа с Cypress и Webdriver.io
- Знание основных паттернов
- Гибридная автоматизация
Кому подойдёт этот курс
- Frontend-разработчикам
- Вы расширите круг своих компетенций, научитесь разрабатывать и клиентскую, и серверную часть кода — сможете самостоятельно создавать веб-серверные приложения, которые работают в режиме реального времени.
- Backend-разработчикам
- Вы освоите Node.js и научитесь писать backend на JavaScript — разберётесь во взаимодействии серверной и клиентской частей кода и станете более востребованным специалистом.
Чему вы научитесь
- Создавать веб-серверные приложения и CLI-утилиты
- Работать с менеджером пакетов npm
- Работать с шаблонами HTML
- Работать с REST API
- Использовать популярные модули Node.js
- Использовать инструменты разработчика для написания, контроля качества, тестирования и отладки кода
- Использовать базы данных PostgreSQL и MongoDB
- Развёртывать проект вручную и в автоматизированных системах
- Работать с HTTP
Содержание курса
- Подготовка рабочей среды
- Познакомитесь с терминалом, Git, VSCode, установите и настроите рабочую среду на Windows, Linux или macOS.
- Hello, world!
- Создадите свою первую программу на Node.js, узнаете о конфигурационном файле package.json и установке зависимостей, научитесь пользоваться специальным шаблоном для быстрого старта проекта.
- Решаем базовые задачи
- Узнаете, как работать с файловой системой, создавать веб-сервер и обрабатывать HTTP-запросы, посылать запросы к сторонним сервисам. Изучите полезные встроенные и сторонние модули.
- Асинхронный код
- Поймете, что такое асинхронность и почему она важна, изучите основные подходы к организации асинхронного кода (callbacks, Promises, async/await), узнаете про библиотеку Bluebird.
- Express.js
- Познакомитесь с популярным веб-фреймворком Express.js. Научитесь работать с рендерингом HTML, REST API, загрузкой файлов, авторизацией и аутентификацией.
- Реляционные базы данных
- Изучите работу с реляционными базами данных на примере PostgreSQL.
- Нереляционные базы данных
- Изучите работу с нереляционными базами, их особенности и применение. Научитесь работать с MongoDB.
- CLI (Command Line Interface) программы
- Научитесь создавать CLI-утилиты с помощью Node.js.
- Углубляем теорию
- Изучите продвинутые темы: жизненный цикл процесса, event loop, работа с Buffer, streams, генераторы и итераторы, HTTPS.
- Real-time & WebSockets
- Узнаете, что такое real-time приложения, какие есть подходы к их реализации. Научитесь работать с протоколом WebSocket.
- Pro tips
- Получите полезные практические советы и инструменты для эффективной отладки, тестирования, развёртывания проекта.
- Дипломный проект. Сервис личных заметок
- Вы создадите серверную часть для сервиса личных заметок. Реализуете авторизацию, REST API, взаимодействие с базой данных — и развернёте проект на хостинге.
Что вы будете уметь после обучения
- Верстать сайты в HTML и CSS
- Разрабатывать клиентскую часть сайта на React
- Программировать на языках JavaScript и TypeScript
- Работать с базами данных с использованием MongoDB
- Создавать серверную часть на Node.js, Express.js, Nest.js
- Работать с API сторонних сервисов и проводить Unit-тестирование
Программа курса
Часть 1. Frontend-разработка
- Вёрстка сайта на HTML и CSS
- Адаптивная и мобильная вёрстка
- Курсовой проект — адаптивная вёрстка сайта
- Основы программирования на JavaScript
- Система контроля версий Git
- Основы работы с JavaScript
- Курсовой проект — веб-менеджер личных финансов
- Разработка на JavaScript в браузере
- Профессиональная работа с JavaScript
- Frontend-разработка на React
- Курсовой проект — агрегатор отелей: frontend
Часть 2. Backend-разработка
- Введение в Node.js
- Библиотека Express.js
- Курсовой проект — приложение для доставки
- TypeScript
- js
- Firebase
- Карьера в fullstack-разработке
Дипломный проект.
Сайт-агрегатор для просмотра и бронирования отелей
В конце обучения вы создадите сайт-агрегатор для просмотра и бронирования отелей. Для выполнения итоговой работы разработаете публичный API, API пользователя, API администратора и чат для консультанта. В проекте вы задействуете технологии Node.js, Nest.js, MongoDB и Websocket.
Кому будет полезен курс
- Новичкам в программировании
Если у вас нет технического образования и опыта программирования, курс поможет быстро начать карьеру в IT. Вы изучите простой и популярный язык программирования — JavaScript. Это позволит вам быстро разобраться в программировании и найти работу, даже не имея опыта - Начинающим разработчикам
Вы углубите имеющиеся знания и ускорите карьерный рост. Комплексная программа и опыт работы с продвинутыми инструментами, фреймворками, методологиями и стандартами позволят уверенно себя чувствовать даже программистам, имеющим небольшой опыт работы - Frontend- и backend-разработчикам
Сможете добрать недостающие знания и стать fullstack-разработчиком. Умение разрабатывать клиентскую и серверную части проекта позволит вам работать со сложными, комплексными проектами и увеличить свою стоимость как специалиста
Ключевые навыки
- Вёрстка сайтов в HTML и CSS
- Frontend-разработка на JavaScript и React
- Использование библиотек React Router, Redux и Redux Thunk
- Работа с изменениями кода проекта с помощью Git и GitHub
- Программирование на языках JavaScript и TypeScript
- Backend-разработка на js: Express.js, Nest.js
- Применение принципов клиент-серверного взаимодействия
- Работа с API сторонних сервисов
- Работа с базами данных с ипользованием MongoBD
- Работа с облачной базой данных с помощью Google Firebase
- Автоматизация развёртывания и управления приложениями с помощью Docker
- Unit-тестирование при помощи Jest