Курсы TypeScript
Чему вы научитесь
- Разрабатывать реальные приложения на NextJS и React
- Работать с React Hooks
- Понимать работу SSR и создавать SEO-friendly сайтов
- Верстать макеты на CSS Grid
- Работать с анимацией и библиотекой Framer
- Обеспечивать доступности приложения и работать с ARIA атрибутами
- Подготавливать ваше приложение к production
- Работать с формами, их отправкой и валидацией
- Писать на TypeScript
- Собирать production проект и настраивать eslint, stylelint и отладку
Что вы будете уметь после обучения
- Верстать сайты в 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
Если знакомы с JavaScript, курс поможет вам
- Стать fullstack-разработчиком
- Добавите к знаниям frontend-разработки навыки backend, не изучая второй язык, а освоив только одну технологию.
- Перейти на middle-уровень
- Изучите новые технологии, расширите стек навыков и сможете стать middle-разработчиком.
- Больше зарабатывать
- Сможете работать с более сложными проектами и претендовать на вакансии с большей зарплатой.
Программа курса
Введение в Node.js
Вы познакомитесь с рабочей средой Node.js и инструментами разработки. По итогам модуля вы создадите консольное приложение для обработки файлов с помощью потоков.
- Особенности работы с Node.js, установка и настройка рабочей среды
- Менеджер пакетов
- Работа с консолью, циклы событий, асинхронность
- Модули Node.js и инструменты разработки
- Стримы (потоки)
- js HTTP-module. HTTP-stream. Встроенный низкоуровневый веб-сервер
Библиотека Express.js
Познакомитесь с библиотекой Express.js, развернёте приложение на сервере, освоите Docker, подключите базу данных MongoDB для хранения данных и Passport.js для аутентификации пользователей, настроите обмен данными между клиентом и сервером — с этим помогут websocket и socket.io.
- Библиотеки Node.js для веб-разработки. Express.js
- Паттерн «цепочка обязанностей»
- Шаблонизаторы. Отрисовка контента (рендер на сервере). Библиотеки Express.js
- Развёртывание приложения на сервере (heroku)
- Docker, установка и настройка. Контейнеризация приложения
- Сравнение реляционных и объектно-ориентированных БД
- Запуск локальной MongoDB в Docker. Подключение MongoDB в Тode.js-приложение
- Аутентификация. Passport.js
- Realtime взаимодействие с сервером, протокол websocket. Библиотеки ws и socket.io
Приложение для доставки
Вы создадите сайт доставки и чат для общения двух людей. Для создания сайта вы разработаете API для аутентификации, управления и просмотра объявлений и websocket-чат. В проекте вы задействуете технологии Node.js, Express.js, Passport.js, MongoDB и Websocket.
TypeScript
Вы освоите статическую типизацию для js кода с помощью TypeScript. На практике будете использовать богатую систему типов, декораторы, enum-ы и другие возможности языка TypeScript. Научитесь настраивать проект с помощью tsconfig.json, использовать eslint для проверки стиля и качества ts-кода. Воспользуетесь всеми возможностями TypeScript для написания надёжных приложений на Node.js.
- js и TypeScript (настройка окружения, возможности)
- Динамическая типизация JavaScript vs статическая типизация TypeScript. Инструментарий tsc, tslint/eslint. Настройка проекта
- Система типов TypeScript. Основные принципы ООП. SOLID
- Библиотека Reflect-metadata. Loc-контейнеры: type-di, inversify
- Перенос и интеграция JS-проекта на примере пройденных материалов
- Организация проекта и кодовой базы. Разделение приложения на слои
Nest.js
Вы изучите фреймворк Nest.js и основные понятия, создадите проект на Node.js, реализуете функциональность из блока TypeScript на модули Nest.js, подключите базы данных (модуль для MongoDB). Научитесь подключать аутентификацию по модулям Nest.js и добавите тестирование кода в свой проект.
- Основные понятия: модули, контроллеры, сервисы. MVC-архитектура
- Погружение в Nest.js: инверсия зависимостей, провайдеры, Middleware
- Подключение базы данных к Nest.js — модулю для MongoDB. Сервисы, репозитории, примеры
- Потоки RxJs
- Валидация и обработка ошибок. Interceptors, pipes
- Аутентификация в Nest.js, Passport.js. Guards
- Тестирование. Библиотека JEST. Unit-тесты, интеграционные и приёмочные тесты
- Вебсокеты в Nest.js
Firebase
Cоздадите аккаунт firebase, внедрите функциональность проекта «Книги» на cloud-функции и подключите облачную базу данных для хранения данных из cloud-функций.
- Cloud Firestore, Realtime Database
- Cloud Functions, Hosting
- Firebase Authentication
Итоговый проект — агрегатор отелей
В конце обучения вы создадите сайт-агрегатор для просмотра и бронирования отелей. Для этого вы разработаете публичный API, API пользователя, API администратора и чат для консультанта. В проекте вы задействуете технологии Node.js, Nest.js, MongoDB и Websocket.
Ключевые навыки
Что умею делать
- Работать с инструментами разработки Node.js
- Использовать библиотеки и фреймворки Node.js: Express.js, Nest.js
- Писать на TypeScript и использовать инструменты tsc, tslint/eslint
- Подключать и использовать в проекте базы данных (MongoDB)
- Настраивать обмен данными между клиентом и сервером (WebSocket)
- Работать с ПО для автоматизации развёртывания и управления приложениями (Docker)
- Настраивать аутентификацию с помощью Passport.js
- Писать unit-тесты
- Использовать Google Firebase