Описание
Fullstack-разработчик на JavaScript
Научитесь программировать на JavaScript и TypeScript — сможете самостоятельно создавать сайты и веб-приложения
Освоите передовые технологии — React, Node.js, Docker, Express.js, Nest.js, Firebase, MongoDB
Когда
8 ноября 2021 — 9 мая 2023
Формат обучения
Вебинары, видеолекции, практические задания
Уровень
С нуля
Fullstack-разработчик может в одиночку запрограммировать веб-приложение
fullstack-разработчик — самый востребованный специалист 2020 года.
Он владеет всем стеком технологий, разбирается в бэкенд- и во фронтенд-составляющей продукта.
Что вы будете уметь после обучения
1) Верстать сайты в HTML и CSS
2) Разрабатывать клиентскую часть сайта на React
3) Программировать на языках JavaScript и TypeScript
4) Работать с базами данных с использованием MongoDB
5) Создавать серверную часть на Node.js, Express.js, Nest.js
6) Работать с API сторонних сервисов и проводить Unit-тестирование
На курсе вы узнаете, как создавать сайты на языке программирования JavaScript и TypeScript.
Вы научитесь разбираться и активно участвовать во всех этапах разработки сайтов — от работы с дизайн-макетами до программирования и настройки серверов.
JavaScript — идеальный язык для старта карьеры
Его простой синтаксис позволит вам быстро разобраться в программировании и найти работу, даже не имея опыта. А поскольку он считается ещё и самым популярным языком, можно найти много вакансий.
105 000 ₽
медианная зарплата разработчиков на JavaScript,
Вы сделаете во время обучения 5 проектов в портфолио:
1) Адаптивную вёрстку сайта
2) Веб-менеджер личных финансов
3) Фронтенд для сайта-агрегатора отелей
4) Приложение для доставки
5) Бэкенд для сайта-агрегатора отелей
Вы решите более 200 практических задач, сделаете четыре курсовых проекта и защитите дипломную работу.
Часть 1. Frontend-разработка
Вёрстка сайта на HTML и CSS
Вы научитесь верстать сайты на HTML и CSS, а также вносить изменения в существующую вёрстку. По итогам этого модуля самостоятельно сверстаете лендинг.
8 часов теории
8 часов практики
Теги для вёрстки контента страницы
Теги для вёрстки структуры страницы
Селекторы CSS
Определение контекста элементов
Блочная модель
Позиционирование элементов
Оформление текста
Оформление декоративных элементов
Состояние интерактивных элементов
Адаптивная и мобильная вёрстка (Курсовой проект — адаптивная вёрстка сайта)
Научитесь создавать вёрстку под любой тип устройств — компьютер, планшет, смартфон. Это позволит вашему сайту быть адаптивным и корректно работать на любых устройствах.
5 часов теории
39 часов практики
Вёрстка резинового макета
Введение в медиазапросы
Медиа-функции
Вёрстка адаптивного макета
Breakpoints
Основы программирования на JavaScript
Познакомитесь с азами программирования, напишете первые строки кода и создадите простые проекты. Для практики будете использовать язык JavaScript — это поможет вам лучше понять работу frontend-части приложения.
8 часов теории
24 часа практики
Алгоритмы
Переменные, числа и строки
Логика и математика
Ветвление кода
Алгоритм с множественным выбором
Ошибки в коде
Массивы
Циклы
Подпрограмма, функция
Объекты
Синхронное и асинхронное выполнение алгоритма
Система контроля версий Git
Каждый разработчик должен знать основы работы с системой Git — на данный момент это практически стандарт по управлению исходным кодом. За три занятия вы научитесь работать с этой системой и с сервисом GitHub, сможете публиковать свои домашние работы и уже в процессе обучения сформируете первое портфолио.
4 часа теории
9 часа практики
Предназначение системы контроля версий
Основные операции: фиксация и откат изменений, поиск, история
Работа с сервисом GitHub
Ветки, слияние веток и разрешение конфликтов
Командная работа
Основы работы с JavaScript (Курсовой проект — веб-менеджер личных финансов)
Глубже погрузитесь в JavaScript — один из самых популярных и гибких языков программирования. Начнёте с азов синтаксиса и узнаете, что такое ООП, исключения, замыкания, асинхронность.
9 часов теории
51 час практики
Базовый синтаксис
Расширенный синтаксис в JavaScript
Типы данных
Функции и объекты
Прототип и конструктор объекта
ООП в JavaScript (ES6)
Обработка исключений и замыкания
Прототип массива, функции высшего порядка
Асинхронность
Разработка на JavaScript в браузере
Узнаете о дополнительных возможностях, которые даёт браузер — Web API. Подключите скрипт к HTML-документу и получите к нему доступ, чтобы сделать документ «живым»: изменять его и реагировать на действия пользователя.
8 часов теории
24 часа практики
Возможности JavaScript в браузере
Способы поиска нужного HTML-элемента
Объект события
DOM — Document object model
Работа с HTML-формами
Изменение структуры HTML-документа
Асинхронные запросы
Хранение состояния на клиенте и отправка на сервер
Профессиональная работа с JavaScript
Научитесь работать с современным инструментом для организации рабочего окружения (npm, webpack) и разберётесь с наиболее сложными разделами языка: прототипной моделью, promises и асинхронными программированием — async/await. Всё это позволит вам выйти на новый уровень в сфере веб-разработки.
9 часов теории
27 часов практики
Стандарты и версии
Рабочее окружение
Модули
Unit-тестирование
Синтаксические конструкции (try-catch, delete), функции и замыкания
Свойства объекта, for-in, обёртки для примитивов
Прототипы, конструкторы
Классы, наследование
Контейнеры
Объект Math, класс RegExp, ArrayBuffer
Promises, async/await
Символы, итераторы, генераторы
Frontend-разработка на React (Курсовой проект — агрегатор отелей: frontend)
Освоите одну из самых популярных библиотек на JavaScript — React. С помощью неё вы сможете создавать интерактивные пользовательские интерфейсы. Вам достаточно описать, как части интерфейса приложения выглядят в разных состояниях, а React будет своевременно их обновлять, когда данные изменяются. Вы сможете создавать инкапсулированные компоненты с собственным состоянием, а затем объединять их в сложные пользовательские интерфейсы.
13 часов теории
76 часов практики
Компоненты
События и состояния
Props
Формы
Композиция компонентов
Жизненный цикл и работа с HTTP
HOC
Hooks, Context API
React Router
Redux
Redux и Redux Thunk
Redux Saga
Часть 2. Backend-разработка
Введение в Node.js
Познакомитесь с рабочей средой Node.js и инструментами разработки. По итогам модуля вы создадите консольное приложение для обработки файлов с помощью потоков.
5 часов теории
20 часа практики
Особенности работы с Node.js, установка и настройка рабочей среды
Менеджер пакетов, IO libuv
Работа с консолью, циклы событий, асинхронность
Модули Node.js и инструменты разработки
Стримы (потоки)
Node.js HTTP-module. HTTP-stream. Встроенный низкоуровневый веб-сервер
Библиотека Express.js (Курсовой проект — приложение для доставки)
Познакомитесь с библиотекой Express.js, развернёте приложение на сервере, освоите Docker, подключите базу данных MongoDB для хранения данных и passport.js для аутентификации пользователей, настроите обмен данными между клиентом и сервером — с этим помогут websocket и .
8 часов теории
56 часов практики
Библиотеки Node.js для веб-разработки. Express.js
Middleware. Паттерн «Цепочка обязанностей»
Шаблонизаторы. Отрисовка контента (рендер на сервере). Библиотеки ejs
Развертывание приложения на сервере (heroku)
Docker, установка и настройка. Контейнеризация приложения. Развертывание через Docker
Что такое база данных, хранение данных. Сравнение реляционных и объектных БД
Запуск локальной MongoDB в Docker. Подключение MongoDB в Тode.js приложение. Установка библиотек и настройка соединения. Знакомство с библиотекой Mongoose
Аутентификация. PassportJS
Realtime взаимодействие с сервером, протокол websocket. Библиотеки WS и socket.io
TypeScript
Изучите принципы ООП для TypeScript, установите и настроите TypeScript в проекте. Добавите в проект правила проверки кода eslint и типы из модуля библиотеки Node.js.
5 часов теории
20 часов практики
Node.js и TypeScript: настройка окружения, возможности
Динамическая типизация JavaScript vs статическая типизация TypeScript. Инструментарий tsc, tslint/eslint. Настройка проекта
Система типов TypeScript. Основные принципы ООП. SOLID
Библиотека reflect-metadata. LoC-контейнеры — type-di, inversify
TS: перенос и интеграция JS-проекта на примере пройденных материалов
Организация проекта и кодовой базы. Разделение приложения на слои: инфраструктура, внешнее API, сервисы с логикой, работа с базой данных
Nest.js
Изучите фреймворк Nest.js и основные понятия. Создадите проект на Node.js, реализуете функциональность из блока TypeScript на модули Nest.js, подключите базы данных (модуль для MongoDB). Научитесь подключать аутентификацию по модулям Nest.js и добавите тестирование кода в свой проект.
8 часов теории
32 часа практики
Фреймворк Nest.js. Создание проекта Nest.js. Основные понятия: модули, контроллеры, сервисы. MVC-архитектура
Погружение в Nest.js: инверсия зависимостей, провайдеры, Middleware
Подключение базы данных к Nest.js — модуль для MongoDB. Сервисы, репозитории, примеры
Потоки RxJs
Валидация и обработка ошибок. Interceptors, pipes
Аутентификация в Nest.js, passportjs. Guards
Тестирование. Библиотека Jest. Unit-тесты, интеграционные и приёмочные тесты
Вебсокеты в Nest.js
Firebase
Вы создадите аккаунт firebase, внедрите функциональность проекта «Книги» на cloud-функции и подключите облачную базу данных для хранения данных из cloud-функций.
3 часов теории
12 часа практики
Cloud Firestore, Realtime Database
Cloud Functions, Hosting
Firebase Authentication
Дипломный проект
Сайт-агрегатор для просмотра и бронирования отелей
В конце обучения вы создадите сайт-агрегатор для просмотра и бронирования отелей. Для выполнения итоговой работы разработаете публичный API, API пользователя, API администратора и чат для консультанта. В проекте вы задействуете технологии Node.js, Nest.js, MongoDB и Websocket.
Ключевые навыки
Вёрстка сайтов в HTML и CSS
Frontend-разработка на JavaScript и React
Использование библиотек React Router, Redux и Redux Thunk
Работа с изменениями кода проекта с помощью Git и GitHub
Программирование на языках JavaScript и TypeScript
Backend-разработка на Node.js: Express.js, Nest.js
Применение принципов клиент-серверного взаимодействия
Работа с API сторонних сервисов
Работа с базами данных с ипользованием MongoBD
Работа с облачной базой данных с помощью Google Firebase
Автоматизация развёртывания и управления приложениями с помощью Docker
nit-тестирование при помощи Jest
Технологии, которые вы освоите
HTML
Язык разметки гипертекста, который позволяет пользователю создавать и структурировать разделы, параграфы, заголовки, ссылки и блоки для веб-страниц и приложений
CSS
Язык для описания внешнего вида страниц сайта. CSS создаёт анимации без использования JavaScript, поддерживает градиенты, тени и многое другое. Это позволяет сделать сайт визуально современным и привлекательным
JavaScript
Самый популярный язык программирования для разработки веб-приложений. JavaScript считается быстрым, производительным и простым для освоения языком программирования
TypeScript
Расширенная версия JavaScript, которая помогает упростить разработку крупных приложений. Этот язык добавляет много новых принципов — классы, дженерики, интерфейсы, статические типы. Это позволяет разработчикам использовать статический анализатор или рефакторинг кода
React
Простая и удобная JavaScript-библиотека для создания пользовательских интерфейсов. React разрабатывается и поддерживается Facebook, Instagram и другими корпорациями
Redux
Популярная библиотека для работы с React. Redux позволяет применять разработчикам различные паттерны проектирования и подходы к написанию кода
Node.js
Кроссплатформенная среда для создания сетевых сервисов и приложений на JavaScript
Express.js
Популярный веб-фреймворк, написанный на JavaScript и работающий внутри среды исполнения Node.js. Используется для создания веб-приложений и API
Nest.js
Фреймворк для создания серверных приложений на Node.js. К преимуществам фреймворка относят правильные архитектурные подходы и возможность работы с передовыми концепциями — DDD, Event Sourcing и микросервисной архитектурой
Docker
Программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации
Git
Cистема контроля версий №1 в мире. Git позволяет работать над кодом проекта совместно, не переживая за потерю данных или конфликт версий
MongoDB
Документоориентированная система управления базами данных с открытым исходным кодом, не требующая описания схемы таблиц
Отзывы
Отзывов пока нет.