Що нового?

Придбаний Node.JS (FullStack) разработчик [TeachMeSkills]

Інформація про покупку
Тип покупки: Складчина
Ціна: 54867 ГРН
Учасників: 0 з 21
Організатор: Відсутній
Статус: Набір учасників
Внесок: 2717.2 ГРН
0%
Основний список
Резервний список

Gadzhi

Модератор

Node.JS (FullStack) разработчик [TeachMeSkills]




Курс «Node.js разработчик» позволяет c головой окунуться в мир серверной разработки для реализации сложной бизнес-логики приложений. К тому же, на данном курсе ты еще получишь и уверенные знания языка программирования JavaScript, чтобы создавать современные и полноценные приложения.

В ходе курса мы напишем несколько приложений - от простых монолитов до сервисов, использующих микросервисную архитектуру. Ты получишь опыт работы с разными типами баз данных - как реляционных, так и не реляционных, научишься запускать их в docker-контейнерах и многое другое, связанное с серверной разработкой. Пройдя этот курс, ты сможешь смело претендовать на позицию Junior Backend Developer.​
256 академических часов
Составлена практикующими IT специалистами для новичков в разработке. Это лучший курс по Node.JS для начинающих.​

1. Введение в веб-разработку
  • Знакомство с HTML/XML/XHTML
  • Структура HTML-документа
  • Работа с текстом и HTML-тегами
  • Работа со шрифтами и фоном
2. HTML и введение в CSS
  • Списки
  • Формы
  • Таблицы
  • Знакомство с CSS: способы подключения, виды селекторов
  • Понятие блочной и строчной модели
  • Float, inline-block
  • CSS-свойстваadding и margin
3. Углубление в HTML и CSS (Часть 1)
  • Позиционирование блочных элементов, свойство position
  • Flex-модель
  • Семантическая верстка
  • Адаптивная и резиновая верстка
  • Сетка сайта
  • Работа с графическими редакторами (Photoshop, Figma)
  • Выдача задания на верстку макета
4. Углубление в HTML и CSS (Часть 2)
  • Grid-модель
  • Псевдоклассы и псевдоэлементы
  • Анимация элементов
  • Значение форм в enterprise-приложениях
5. Дополнительные инструменты верстки страниц
  • Bootstrap
  • Основы препроцессоров LESS, SASS/SCSS, Stylus
  • Локальная разработка на GULP-SASS
  • BEM и какие проблемы он решает
  • Консультация по вопросам сдачи индивидуального задания
6. Системы контроля версий. Git
  • Что такое системы контроля версий и зачем они нужны
  • Классификация систем контроля версий
  • Git как система контроля версий
  • Основные команды Git
7. Введение в JavaScript
  • Введение в программирование
  • Классификация языков программирования
  • Что такое JavaScript и для чего он нужен
  • История языка
  • Типы данных
  • Переменные
  • Базовые операторы
8. Основы JavaScript
  • Как устроен JavaScript
  • Системы счисления (двоичная, восьмеричная, десятичная, шестнадцатеричная)
  • Компиляция и интерпретация исходного кода
  • Как работает JIT-компиляция
  • Приведение типов: явное и неявное
  • Условия (if, switch, тернарный оператор)
  • Циклы (while, for, for ... in, for … of)
9. Введение в функции
  • Что такое функции и зачем они нужны
  • Способы объявления функций
  • Аргументы функции
  • Возвращаемое значение
10. Продвинутая работа с функциями
  • Ключевое слово arguments и его роль
  • Оператор расширения в стрелочных функциях и его роль
  • Область видимости. Локальные и глобальные переменные
  • Всплытие значений
  • Стек вызовов функции
  • Рекурсия и ее роль
  • Замыкание и его роль
  • Функции обратного вызова
  • HOC функции
11. Объекты и массивы
(Часть 1)
  • Объекты как составной тип данных
  • Доступ к свойствам объектов
  • Массивы как частный случай объектов
  • Доступ к элементам массивов
  • Копирование объектов и массивов
  • Деструктуризация
12. Объекты и массивы
(Часть 2)
  • Перебор объектов и перебор массивов
  • Методы по работе с массивами
  • Преобразование объекта в массив и массива в объект
13. Основы ООП
  • Введение в ООП. Понятие класса и объекта
  • Основные понятия ООП: инкапсуляция, наследование, полиморфизм, абстракция
  • Функции-конструкторы и их роль в создании объектов. Выделение памяти при создании объекта и ключевое слово new
  • Ключевое слово this и понятие контекста
  • Способы привязки контекста выполнения
14. Прототипы и прототипное наследование
  • Прототипы и их роль
  • Отличие prototype и proto
  • Прототипное наследование в JavaScript
  • Появление классов в JavaScript
  • Статические свойства
  • Наследование с использованием классов
  • Свойства get и set
  • Приватные свойства классов
15. Клиентский JavaScript. DOM
  • Что такое DOM
  • Навигация по элементам
  • Типы элементов и поиск элементов
  • Атрибуты элементов, добавление/изменение стилей и классов
16. Обработка событий на стороне клиента
  • Введение в браузерные события
  • Всплытие и погружение
  • События по умолчанию
  • События мыши и клавиатуры
  • Обработка событий формы
17. Асинхронность в JavaScript
(Часть 1)
  • Что такое асинхронность
  • Отличие синхронного и асинхронного кода
  • Потоки и процессы
  • Отличие асинхронности от многопоточности
  • Событийный цикл
  • Таймеры setTimeout и setInterval
  • Выдача индивидуального задания на разработку собственного клиентского приложения
18. Асинхронность в JavaScript (Часть 2)
  • Еще раз о функциях обратного вызова
  • Введение в promise
  • Цепочка промисов
19. Асинхронность в JavaScript (Часть 3)
  • Продолжаем promise и обработка ошибок
  • Промисификация
  • Микро- и макро-задачи
  • Генераторы
  • Работа с promise через async/await
20. Отправка запросов по сети. Протокол HTTP
  • Введение в клиент-серверную архитектуру
  • Как взаимодействует клиент и сервер
  • Протокол HTTP
  • HTTP запросы. Методы и статус-коды
  • Запросы через XMLHttpRequest, fetch и axios
  • Обработка ошибок в запросах
21. Хранение данных в браузере. BOM
  • Объектная модель браузера
  • Куки-файлы
  • localStorage и sessionStorage
22. Основы Webpack (Часть 1)
  • Что такое npm
  • Что такое Webpack и отличия от Gulp
  • Устанавливаем Webpack
  • Настройка окружения
23. Основы Webpack (Часть 2)
  • Разбиение исходного кода проекта на файлы и запуск через Webpack
  • Работа с зависимостями
  • Плагины и лоадеры
24. Паттерны проектирования
  • Что такое паттерны их роль
  • Классификация паттернов
  • Порождающие паттерны. Примеры
  • Поведенческие паттерны. Примеры
  • Структурные паттерны. Примеры
25. MVC-концепция и концепция SPA
  • Семейство паттернов MVC
  • MVC/MVVM
  • Концепция одностраничных приложений
26. Алгоритмы и структуры данных
  • Что такое алгоритм
  • Способы оценки сложности алгоритма
  • Алгоритмы поиска
  • Алгоритмы сортировки
  • Хэш-таблица, стек, очередь, куча
  • Коллекции Map/Set
  • Деревья
27. Практическое занятие, консультация по вопросам сдачи проекта
  • Практическое занятие
  • Подробные индивидуальные консультации с преподавателем
28. Введение в бэкенд-разработку и Node.js
  • Что такое сервер и зачем он нужен
  • Установка Node.js, обзор документации
  • Выполнение первого скрипта на Node
  • Работа Javascript на сервере
  • Архитектура Node.js, V8, libuv, c++ и node-gyp
  • Паттерн reactor и Event loop
29. Глобальные объекты и модули (Часть 1)
  • Модули. Способы декомпозиции структуры проекта: common.js, es6 modules(.mjs и babel)
  • Встроенные модули: path, fs, os
  • Глобальный объект global в node.js и константы __dirname, __filename
  • Почему window и document не существует в node.js
  • Дебаггер
30. Глобальные объекты и модули (Часть 2)
  • Объект process
  • Переменные окружения и dotenv, process.argv
  • Почему переменные окружения не должны попадать в репозиторий
  • Buffer API
  • Таймауты, интервалы
31. Асинхронное взаимодействие с I/O
  • Модуль events. EventEmitter в действии
  • Объект Stream (потоки readable, writable, duplex). Pipe
  • Использование Promise и async/await со Stream API
  • Концептуальная роль Stream в node.js (stdin, stdout, fs, http)
32. Компьютерные сети, работа интернета и протоколы
  • Понятие "Интернет" и "WEB"
  • Введение в компьютерные сети
  • Топологии компьютерных сетей
  • Стандарты и организация компьютерных сетей
  • 7 уровней модели OSI
  • 4 уровня в модели TCP/IP
  • Главное отличия TCP и UDP
33. Модуль HTTP и первый веб-сервер на Node.js
  • Протокол HTTP (заголовки, тело запроса, статус коды). Модуль http
  • Айпи адреса, мак-адрес и порты. 127.0.0.1
  • Базовый веб сервер на node.js
  • Объекты request и response
  • Выполнение HTTP запроса на стороне node.js
  • HTTP/HTTPS, SSL/TLS
34. REST API (Часть 1)
  • Статический веб-сервер
  • Углубление в клиент-серверную модель взаимодействия
  • Создание REST API сервера
  • Роутинг запросов
35. REST API (Часть 2)
  • Методы GET, POST, PUT, DELETE, PATCH и их смысл в REST
  • Http-клиенты Postman и Insomnia
  • Выдача индивидуального задания на разработку REST API сервис
36. Основы тестирования
  • Разновидности тестов
  • Unit-тестирование (assert)
  • Chai, mocha, sinon
  • Jest
37. Авторизация и аутентификация (Часть 1)
  • Разница в понятиях "аутентификация", "авторизация" и "идентификация"
  • Методы аутентификации: сессионная, двухфакторная, беспарольная, SSO
  • Пишем первую авторизацию на Node.JS
  • Json Web Token
38. Авторизация и аутентификация (Часть 2)
  • Модуль crypto
  • Имплементация JWT
  • Passport.js
39. Мультипоточность, кластеры
  • Модуль child_process
  • Модуль worker_threads
  • Менеджер процессов pm2
40. История Unix-систем
  • Основы unix-команд
  • Пользователи в unix
  • Права в unix
  • Система директорий в unix
41. Деплоймент кластера на сервер
  • Настраиваем VPS-сервер
  • Устанавливаем зависимости и базовая настройка
42. Практическое занятие, консультация по вопросам сдачи проекта
  • Практическое занятие
  • Подробные индивидуальные консультации с преподавателем
43. Работа в команде и как писать понятный код
  • Контроль качества кода с помощью ESLint/Prettier/JSHint
  • Процесс code/review
  • Подход Git Flow
  • Гит хуки и husky.js
  • Аннотации
44. Фреймворки Node.JS
  • Зачем писать на фреймворке
  • Обзор Node.JS фреймворков
  • Фреймворк express.js и почему он популярный
  • Настройка express.js. Роутинг, отправка статических файлов, концепция middleware, парсинг Content-type: application/json, обработка ошибок
45. Концепция MVC в рамках express.js
  • MVC и шаблонизация данных на сервере
  • Контроллеры, модели, представления, сервисы
  • Выдача индивидуального задания на разработку собственного сервиса
46. Валидация данных
  • Проблемы без валидации
  • Инструменты для валидации данных. Joi, ajv.
47. Веб сокеты, polling, long polling, server sent events
  • Проблемы односторонней коммуникации межу клиентом и сервером
  • Polling, long polling
  • Понятие о web-sockets
  • ws/wss
  • Библиотека socket.io
  • Server sent event
48. Знакомство с контейнеризацией, Docker, docker-compose
  • Установка и настройка Docker
  • Запаковываем наше приложение в docker-compose
  • Запускаем базу данных в docker-compose
  • Подключаем базу данных в наше express-приложение
  • Настраиваем GUI-приложение для базы данных
  • Выдача задания на контейнеризацию своего приложения
49. Базы данных. Введение
  • Классификация БД
  • Реляционные базы данных
  • Язык запросов SQL
  • Драйвер для БД(pg)
  • Проектирование баз данных
  • SQL-injection
50. Базы данных SQL
  • Агрегатные функции
  • Транзакции
  • Нормальные формы данных
  • PostgreSQL, JSON, JSONB
  • ORM: knex.js, sequilize
  • Миграция
  • Фикстуры
  • Переносим данные своего приложения в БД
51. Базы данных NoSQL
  • Установка MongoDB
  • Синтаксис MongoDB
  • Драйвер mongodb
  • Mongoose: Модели, миграции, запросы
  • Агрегация
52. Кэширование данных
  • Что такое key-value хранилища и для чего они нужны
  • Запуск Redis с помощью docker-compose
  • Подключение к редис с помощью драйвера
  • Сравнение скорости запросов в PostgreSQL и Redis
53. HTTPS-сервер на Node.JS. Возможности продакшн веб-сервера
  • Node.js http2-модуль и openssl
  • Nginx: какие решает задачи
  • Nginx: Сборка, раздача статики, реверс проксирование
  • Nginx: Запуск и настройка
  • Nginx: Балансировка запросов, алгоритмы балансировки
54. Мониторинг и логирование запросов
  • Для чего нужно следить за логами приложений
  • Простой логгер своими руками
  • Анализ логов Nginx с помощью утилиты goaccess
  • Инструменты логирования в Node.JS - Loggly/Winston/Morgan
  • Сервисы для логирования catchJS и Sentry.io
55. Микросервисы
  • Преимущества и недостатки микросервисной архитектуры
  • Коммуникация между микросервисами
  • Первые микросервисы на http
  • Проблемы с http и понятие брокера сообщений
  • Виды брокеров NATS/Kafka/RabbitMQ/Redis as MQ
  • Выдача задания для разбиения приложения на микросервисы
56. Документатор swagger
  • Документируем наше бэкенд-приложение для фронтенд разработчиков
  • OpenApi 3.0 / Swagger
  • Swagger: Настройка и запуск
  • Домашнее задание на подключения модуля swagger к проекту
57. Проблемы микросервисной архитектуры
  • Проблема микросервисов на примере Socket.io
  • Решение проблемы с Socket.io-redis
  • Выдача задания на AB тестирование
58. Микросервисные фреймворки
  • Какие задачи решает Moleculer.js / Nanoservices
  • Добавляем Moleculer в свой проект
  • Решаем задачу с распределением работы между инстансами
  • CRON jobs
59. Деплоймент (Часть 1)
  • Настраиваем балансировщик для Docker
  • Запускаем приложение на VPS-сервере
  • Настройка домена
  • Задание на деплоймент своего приложения
60. Деплоймент (Часть 2)
  • Практическое занятие по настройке приложения на VPS-сервере
  • Консультации с преподавателями по вопросам деплоя
61. Поисковые движки
  • Проблемы БД при работе с большим количеством данных
  • Инструменты Elasticsearch и Sphinx
  • Запуск и настройка Elastic Search
  • Elasticsearch: запросы, индексы, фильтры
62. Стресс-тесты
  • Инструменты для стресс-тестов: artillery / loadtest / autocannon
  • Тестируем наше приложение на отказоустойчивость на VPS-сервере
  • Финальное домашнее задание
63. Подготовка к дипломному проекту
  • Повторение изученного материала
  • Выбор дипломного проекта
64. Онлайн-тренинг "Трудоустройство в IT"
  • Составление резюме (теория + практика)
  • Составление профиля на LinkedIn (теория + практика)
  • Прохождение интервью
  • Soft skills, которые важны в рамках интервью
  • Проведение пробного интервью

https://teachmeskills.by/kursy-programmirovaniya/node-js-developer-online
 
Угорі