Fullstack-разработчик на JavaScript [Нетология] [часть 1 из 10]

Bot

Администратор
Команда форума
23 Янв 2020
190,431
3,071
113
Курс рассчитан для новичков с 0
Старт 11 октября 2021
Длительность 19 месяцев


Программа курса:
  1. Вёрстка сайта на HTML и CSS
  2. Адаптивная и мобильная вёрстка
  3. Основы программирования на JavaScript
  4. Система контроля версий Git
  5. Основы работы с JavaScript
  6. Разработка на JavaScript в браузере
  7. Профессиональная работа с JavaScript
  8. Введение в Node.js
  9. Библиотека Express.js
  10. TypeScript
  11. Nest.js
  12. Firebase
  13. Дипломный проект: Агрегатор для просмотра и бронирования отелей
Спойлер: Изучаемые технологии
  • HTML
  • CSS
  • JavaScript
  • React
  • React Router
  • Redux
  • Redux Thunk
  • Redux Saga
  • DOM
  • HTTP
  • Web API
  • Node.js
  • TypeScript
  • Express.js
  • Nest.js
  • Passport.js
  • OOP
  • SOLID
  • MVC
  • RxJs
  • Unit Testing
  • Jest
  • Git
  • Github
  • Firebase
  • Heroku
  • Docker
  • SQL
  • MongoDB
Спойлер: Подробная программа курса
Модуль 1 Вёрстка сайта на HTML и CSS
Видеокурс по HTML-верстке. Научитесь верстать сайты на HTML и CSS и вносить изменения в существующую
вёрстку. По итогам этого модуля вы уже самостоятельно сверстаете лендинг.
Теория: 8 часов
Практика: 8 часов

Лекции:
1. Теги для вёрстки контента и структуры страницы
2. Теги для вёрстки форм
3. Селекторы CSS
4. Определение контекста элементов
5. Блочная модель
6. Позиционирование элементов
7. Оформление текста и декоративных элементов
8. Состояние интерактивных элементов
Модуль 2 Адаптивная и мобильная вёрстка
Теория: 5 часов
Практика: 44 часа
Научитесь создавать вёрстку под любой тип устройств (компьютер, планшет, смартфон). Ваш сайт будет
адаптивным и корректно работающим на любых устройствах.

Лекции:
1. Верстка резинового макета
2. Введение в медиа-запросы
3. Медиа-функции
4. Верстка адаптивного макета
5. Breakpoints

Модуль 3 Основы программирования на JavaScript
Познакомитесь с азами программирования, напишете первые строки кода и создадите первые простые
проекты. Для практики будем использовать язык JavaScript. Это поможет вам также лучше понять работу
frontend-части приложения.
Теория: 8 часов
Практика: 24 часа

Лекции:
1. Базовые понятия. Переменные и числа
2. Логический тип и ветвления
3. Строки. Алгоритмы. Как отлаживать код
4. Массивы и базовые методы работы с ними
5. Циклы в JavaScript
6. Ассоциативные массивы
7. Функции без параметров. Область видимости
8. Параметры и возвращаемое значение

Модуль 4 Система контроля версий Git
Каждый разработчик должен знать основы работы с системой Git, так как сейчас это практически стандарт по
управлению исходным кодом. За 3 занятия вы научитесь работать с этой системой и с сервисом GitHub,
сможете публиковать свои домашние работы и уже в процессе обучения сформируете первое портфолио
(работодатели часто просят показать примеры вашего кода на GitHub).
Теория: 4 часа
Практика: 9 часов

Лекции:
1. Предназначение системы контроля версий, основные операции
2. Работа с сервисом GitHub
3. Ветки, слияние веток и разрешение конфликтов
4. Командная работа

Модуль 5 Основы работы с JavaScript
Глубже погрузитесь в JavaScript — один из самых популярных и гибких языков программирования. Начнёте с
азов синтаксиса и узнаете, что такое ООП, исключения, замыкания, асинхронность.
Курсовой проект: веб-менеджер личных финансов
Теория: 9 часов
Практика: 51 час

Лекции:
1. Базовый синтаксис
2. Расширенный синтаксис в JavaScript
3. Типы данных
4. Функции и объекты
5. Прототип и конструктор объекта
6. ООП в JavaScript (ES6)
7. Обработка исключений и замыкания
8. Прототип массива, функции высшего порядка
9. Асинхронность

Модуль 6 Разработка на JavaScript в браузере
Вы изучите базовые понятия JavaScript и узнаете о дополнительных возможностях, которые дает браузер —
Web API. Подключите скрипт к HTML-документу и получите к нему доступ, чтобы сделать документ «живым»:
изменять его и реагировать на действия пользователя.
Теория: 8 часов
Практика: 24 часа

Лекции:
1. Возможности JavaScript в браузере
2. Способы поиска нужного HTML-элемента
3. Объект события
4. DOM - Document Object Model
5. Работа с HTML-формами
6. Изменение структуры HTML-документа
7. Асинхронные запросы
8. Хранение состояния на клиенте и отправка на сервер

Модуль 7 Профессиональная работа с JavaScript
Научитесь работать с современным инструментом для организации рабочего окружения (npm, webpack) и
разберётесь с наиболее сложными разделами языка: прототипной моделью, promises и асинхронными
программированием (async/await). Всё это позволит вам выйти на новый уровень в сфере веб-разработки.
Теория: 9 часов
Практика: 27 часов

Лекции:
1. Стандарты и версии, рабочее окружение
2. Модули, Unit-тестирование
3. Синтаксические конструкции (try-catch, delete), функции и замыкания
4. Свойства объекта, for-in, обёртки для примитивов
5. Прототипы, конструкторы
6. Классы, наследование
7. Контейнеры
8. Объект Math, класс RegExp, ArrayBuffer, Promises, async/await
9. Символы, итераторы, генераторы

Модуль 8 Frontend-разработка на React
Освоите одну из самых популярных библиотек на JavaScript — React. При помощи этой библиотеки вы сможете
создавать интерактивные пользовательские интерфейсы. Вы сможете создавать инкапсулированные компоненты с
собственным состоянием, а затем объединять их в сложные пользовательские интерфейсы.
Курсовой проект: Агрегатор отелей
Теория: 13 часов
Практика: 76 часов

Лекции:
1. Компоненты
2. События и состояния
3. Props
4. Формы
5. Композиция компонентов
6. Жизненный цикл и работа с HTTP
7. HOC
8. hooks, Context API
9. React Router
10. Redux
11. Redux и Redux Thunk
12. Redux Observable
13. Redux Saga

Модуль 9 Введение в Node.JS
Вы познакомитесь с рабочей средой Node.js и инструментами разработки. По итогам модуля вы создадите
консольное приложение для обработки файлов с помощью потоков.
Теория: 5 часов
Практика: 20 часов

Лекции:
1. Особенности работы с Node.js, установка и настройка рабочей среды
2. Менеджер пакетов, IO libuv
3. Работа с консолью, циклы событий, асинхронность
4. Модули Node.js и инструменты разработки
5. Стримы (потоки)
6. Node.js HTTP-module. HTTP-stream. Встроенный низкоуровневый веб-сервер

Модуль 10 Библиотека Express.js
В течение модуля вы познакомитесь с библиотекой express.js, развернете приложение на сервере, освоите
Docker, подключите базу данных MongoDB для хранения данных и passport.js для аутентификации
пользователей, настроите обмен данными между клиентом и сервером (с этим помогут websocket и socket.io).
Курсовой проект: Приложение для доставки
Теория: 8 часов
Практика: 56 часов

Лекции:
1. Библиотеки node.js для веб-разработки. Express.js.
2. Middleware. Паттерн цепочка обязанностей.
3. Шаблонизаторы. Отрисовка контента (рендер на сервере). Библиотеки ejs.
4. Развертывание приложения на сервере (heroku).
5. Docker, установка и настройка. Контейнеризация приложения. Развертывание через docker.
6. Что такое база данных, хранение данных. Сравнение реляционных и объектных БД.
7. Запуск локальной MongoDB в docker. Подключение MongoDB в Тode.js приложение.
Установка библиотек и настройка соединения. Знакомство с библиотекой mongoose
8. Аутентификация. PassportJS
9. Realtime взаимодействие с сервером, протокол websocket. Библиотеки ws и socket.io

Модуль 11 Typescript
Вы изучите принципы ООП для Typescript, установите и настроите Typescript в проекте. Добавите в проект
правила проверки кода eslint и типы из модуля библиотеки Node.js.
Теория: 5 часов
Практика: 20 часов

Лекции:
1. Node.js и Typescript (настройка окружения, возможности).
2. Динамическая типизация Javascript vs статическая типизация Typescript. Инструментарий
tsc, tslint/eslint. Настройка проекта
3. Система типов typescript. Основные принципы ООП. SOLID
4. Библиотека reflect-metadata. Ioc контейнеры - type-di, inversify
5. TS - перенос и интеграция JS-проекта на примере пройденных материалов
6. Организация проекта и кодовой базы. Разделение приложения на слои (инфраструктура,
внешнее апи, сервисы с логикой, работа с базой данных)

Модуль 12 Nest.js
Вы изучите фреймворк Nest.js и основные понятия, создадите проект на Node.js, реализуете
функциональность из блока Typescript на модули Nest.js, подключите базы данных (модуль для MongoDB).
Научитесь подключать аутентификацию по модулям Nest.js и добавите тестирование кода в свой проект.
Теория: 8 часов
Практика: 32 часа

Лекции:
1. Фреймворк Nest.js. Создание проекта nestjs. Основные понятия - модули, контроллеры,
сервисы. MVC архитектура
2. Погружение в Nest.js - инверсия зависимостей, провайдеры, Middleware
3. Подключение базы данных к Nest.js - модуль для MongoDB. Сервисы, репозитории,
примеры
4. Потоки RxJs
5. Валидация и обработка ошибок. Interceptors, pipes.
6. Аутентификация в Nest.js, passportjs. Guards
7. Тестирование. Библиотека JEST. Unit тесты, интеграционные и приемочные тесты
8. Вебсокеты в Nest.js

Модуль 13 Firebase
В течение этого модуля вы создадите аккаунт firebase, внедрите функциональность проекта “Книги” на cloud-
функции и подключите облачную базу данных для хранения данных из cloud-функций.
Теория: 3 часа
Практика: 12 часов

Лекции:
1. Cloud Firestore, Realtime Database
2. Cloud Functions, Hosting
3. Firebase Authentication

Итоговый проект: агрегатор для просмотра и бронирования отелей
Практика: 48 часов
В конце обучения вы создадите сайт-агрегатор
для просмотра и бронирования отелей.
Для создания сайта вы разработаета публичный
API, API пользователя, API администратора и чат
для консультанта. В проекте вы задействуете
технологии Node.js, Nest.js, MongoDB и Websocket.


Продажник netology.ru/programs/javascript-fullstack#/lessons