Открыто

Станьте Back-end разработчиком уровня Middle+ [Тариф Самостоятельно] [it-incubator]

Тема в разделе "Курсы по программированию", создана пользователем Топикстартер, 13 апр 2025.

Цена: 77000р.-89%
Взнос: 8218р.

Основной список: 11 участников

  1. 13 апр 2025
    #1
    Топикстартер
    Топикстартер ЧКЧлен клуба

    Складчина: Станьте Back-end разработчиком уровня Middle+ [Тариф Самостоятельно] [it-incubator]

    2025-04-13_14-59-40.png

    Для кого наше обучение?

    Мы принимаем только осознанных студентов с базовыми знаниями в сфере разработки
    • Учите программирование самостоятельно
      Уже долгое время изучаете программирование самостоятельно, но знаний всё равно не хватает для трудоустройства? Приходите к нам, чтобы пройти этот путь за 1 год вместо 5 лет
    • Раньше учились на курсах, но не нашли работу
      Вы уже прошли обучение на курсах, но всё равно не можете найти работу? Если вы подтвердите свои знания, мы дадим вам скидку на обучение и поможем получить первый оффер в IT
    • Будущие Fullstack-разработчики
      Действующий frontend-разработчик и хотите стать гибким, универсальным специалистом, открыть для себя новый стек и вырасти в позиции? Нам по пути!
    Программа обучения:

    1 месяц. Введение в разработку на серверной стороне. TypeScript, Express, MongoDB, асинхронное программирование.

    <Неделя 1>

    Введение в back-end разработку
    - Установка окружения и создание простого Express приложения с использованием TypeScript и Nodemon
    - Развертывание простого TypeScript Express приложения на Versel
    - Routing для обработки GET, POST, PUT и DELETE запросов в Express приложении. Использование различных типов HTTP-запросов для обработки CRUD-операций
    - End-to-end тестирование приложения
    - Swagger документация
    - JS: Типы данных. Особенности объектов как ссылочного типа данных. Копирование объектов. Синтаксис деструктуризации

    <Неделя 2>

    DataAccessLayer, Middleware и валидация данных
    - Реализация базовых операций CRUD (Create, Read, Update, Delete) в репозиториях
    - Express Middleware и принцип цепочки обязанностей (Chain of Responsibility)
    - Валидация входных данных с использованием express-validator
    - Реализация Basic Authorization для аутентификации и авторизации запросов
    - Проверка учетных данных пользователя с использованием Basic Authorization
    - JS: Методы массивов map, filter, sort и др. “Полифилы” методов массивов. Array.prototype как “хранилище” методов. + практика

    <Неделя 3>

    MongoDB, CRUD операции и асинхронное программирование
    - Введение и установка MongoDB
    - Использование CRUD операций для работы с данными в MongoDB
    - Работа с MongoDB через командную оболочку и графический инструмент Studio 3T
    - Изучение Promise в Node.js и асинхронного программирования
    - Применение async-await для написания удобного асинхронного кода в Node.js
    - Взаимодействие между Node.js и MongoDB
    - Использование официального MongoDB драйвера для Node.js для выполнения CRUD операций
    - JS: Методы массивов slice, splice, toSpliced, reduce + практика

    <Неделя 4>

    Бизнес-логика, пагинация, сортировка, CQS/CQRS и слои приложения
    - Изучение Business Logic Layer для отделения бизнес-логики от слоя доступа к данным
    - Реализация пагинации и сортировки для эффективной работы с большими объемами данных
    - Понимание принципов CQS и CQRS для разделения команд и запросов
    - Реализация QueryRepository для разделения операций чтения и записи данных
    - Освоение основ data-mapping для преобразования данных между слоями приложения
    - Организация слоев приложения для более модульной и масштабируемой архитектуры
    - JS: Синтаксис вычисляемых свойств объекта (“ассоциативный массив“), map-set, object.keys, object.values, object.entries

    2 месяц. Безопасность серверного приложения. Хеширование паролей, JWT и авторизация, отправка электронных писем, Refresh Token для обновления JWT.

    <Неделя 1>

    Хеширование паролей, bcrypt и проверка паролей
    - Введение в безопасность паролей и необходимость их хеширования
    - Изучение метода хеширования паролей с использованием bcrypt
    - Разработка и реализация процесса хеширования паролей
    - Понимание процесса проверки правильности введенного пароля
    - Реализация проверки пароля с использованием bcrypt
    - Обзор распространенных практик и подходов к обеспечению безопасности паролей
    - JS: Обработка событий: интерфейс Event, оnclick и addEventListener (особенности использования), “всплывающие” события, свойства target и currentTarget, методы stopPropagation и preventDefault. Паттерны проектирования. Observer, Publisher-Subscriber. Примеры использования

    <Неделя 2>

    JWT, HTTP заголовки, авторизация с использованием токена Bearer
    - Введение в JWT (JSON Web Tokens) и их роль в аутентификации и авторизации
    - Генерация и проверка JWT токенов для безопасной передачи информации
    - Изучение HTTP заголовков и их использование в веб-приложениях
    - Использование заголовка Authorization для передачи авторизационных данных
    - Реализация авторизации с использованием токена Bearer в HTTP заголовке
    - Обзор распространенных практик и подходов к обеспечению безопасности при работе с JWT и авторизацией
    - JS: Область видимости переменных. Замыкание: пример счётчик, почему и как работает. Сборка мусора. Рекурсия и стек вызова

    <Неделя 3>

    Nodemailer, SMTP, регистрация аккаунта и подтверждение по электронной почте
    - Изучение Nodemailer и настройка SMTP для отправки электронных писем
    - Разработка функциональности регистрации аккаунта
    - Генерация уникального кода подтверждения
    - Отправка письма с кодом подтверждения
    - Реализация механизма подтверждения аккаунта
    - Обработка запросов подтверждения и обновление статуса аккаунта
    - JS: Promise. Для чего нужны, какую проблему решают. Создание собственного Promise. Все тонкости работы с методами .then .catch .finally

    <Неделя 4>

    JWT Refresh Token
    - Изучение концепции Refresh Token в связке с JWT
    - Разработка механизма обновления токена для продления срока действия
    - Генерация и сохранение Refresh Token в безопасном хранилище
    - Проверка валидности Refresh Token перед обновлением
    - Обновление и выдача нового JWT при использовании Refresh Token
    - Реализация логики обработки и обновления токенов в приложении
    - Обзор распространенных практик и подходов к обновлению JWT с использованием Refresh Token
    - JS: Promise. Работа с методами .then .catch .finally на реальных примерах. Специальный синтаксис async/await. Обработка ошибок с помощью try и catch. Статические методы класса Promise

    3 месяц. Multi devices, защита от brute force атак, Mongoose, объектно-ориентированное проектирование, Inversify.

    <Неделя 1>

    Multi devices и ограничения по IP
    - Изучение стратегий работы с несколькими устройствами пользователей в серверном приложении
    - Разработка механизма аутентификации и управления сеансами для поддержки нескольких устройств
    - Реализация ограничений по IP для защиты серверного приложения от brute force атак
    - Использование middleware для проверки и ограничения IP-адресов
    - Обработка и логирование попыток доступа с недопустимых IP-адресов
    - JS: Структуры данных Stack/Queue. Событийный цикл (Eventloop): микрозадачи и макрозадачи. Решение практических задач

    <Неделя 2>

    Mongoose и схемы
    - Изучение Mongoose - объектно-ориентированной библиотеки для работы с MongoDB в Node.js
    - Освоение концепции схем в Mongoose, которые определяют структуру и типы данных моделей
    - Создание моделей с использованием схем в Mongoose для удобного взаимодействия с базой данных MongoDB
    - Реализация CRUD операций (создание, чтение, обновление, удаление) с использованием Mongoose
    - Изучение возможностей Mongoose для валидации данных, настройки связей между моделями и других расширенных функций
    - Разработка и тестирование функциональности с использованием Mongoose и схем
    - JS: Ключевое слово ‘this’, работа с this в функциях и методах объектов. Потеря контекста. Методы функций call, apply, bind. This в функциях конструкторах

    <Неделя 3>

    Введение в понятия DTO, POJO, анемичной модели и класса. Работа с объектными зависимостями и внедрение зависимостей (DI)
    - Изучение DTO, POJO, Anemic Model и Transaction Script в объектно-ориентированном проектировании
    - Понимание зависимостей объектов и их влияния на приложение
    - Введение в Dependency Injection (DI) и использование Composition Root для управления зависимостями
    - Применение принципов объектно-ориентированного проектирования и управления зависимостями в практике
    - JS: Классы в JS. Для чего нужны, какие проблемы решают. Как создать собственный класс. Для чего нужна функция constructor() в классах. Приватность в классах. Геттеры и сеттеры (get/set). Статические методы класса

    <Неделя 4>

    Inversion of Control (IoC) и фреймворк Inversify. Введение в ООП
    - Введение в IoC и роль фреймворка Inversify
    - Изучение основных компонентов Inversify: контейнеры, привязки и разрешение зависимостей
    - Создание и настройка контейнера Inversify
    - Применение IoC с помощью Inversify для повышения гибкости и тестируемости кода
    - Введение в ООП. Знакомство с принципами DDD
    - JS: Прототипы в JS, proto/prototype. Все ли в JS объекты? Разница между proto и prototype. Прототипное наследование

    4 месяц. Nest.js - контроллеры, маршрутизация и сервисы, DI, области видимости, аутентификация (стратегии), CQRS, тестирование

    <Неделя 1>

    Nest.js - создание проекта, контроллеры, маршрутизация и сервисы
    - Введение в Nest.js - фреймворк для разработки масштабируемых и модульных приложений на Node.js
    - Создание нового проекта с использованием Nest.js CLI и настройка базовой структуры проекта
    - Изучение концепции контроллеров в Nest.js и создание обработчиков HTTP-запросов
    - Определение маршрутов и настройка маршрутизации в приложении Nest.js
    - Создание и использование сервисов для инкапсуляции бизнес-логики в приложении
    - Разработка и тестирование функциональности с использованием контроллеров, маршрутизации и сервисов в Nest.js
    - JS: Разработка игры на чистом JavaScript + ООП, тесты, WebSocket

    <Неделя 2>

    Nest.js - валидация, обработка исключений и использование guards, Passport.js, tests
    - Изучение возможностей валидации данных в Nest.js с использованием библиотеки class-validator
    - Применение пайпов (pipes) в Nest.js для обработки и преобразования данных
    - Изучение ValidationPipe для автоматической валидации входных данных в контроллерах
    - Обработка исключений с помощью Exception Filters в Nest.js для управления ошибками в приложении
    - Использование глобального фильтра (useGlobalFilter) для единообразной обработки исключений во всем приложении
    - Изучение гвардов (guards) в Nest.js и внедрение Auth Guard для реализации авторизации и защиты маршрутов
    - Аутентификация с использованием различных стратегий: Local, JWT, Basic. Использование Passport.js
    - Практическое применение интеграционного тестирования с использованием базы данных
    - Изучение концепций mock и spy для создания контролируемых и независимых тестовых сред
    - JS: Разработка игры на чистом JavaScript + ООП, тесты, WebSocket

    <Неделя 3>

    Nest.js - DI, области видимости, environment variables, CQRS (UseCase, CommandHandler)
    - Переменные окружения, process.env, environment variables
    - Nest сonfiguration
    - Применение паттерна UseCase и обработка команд с помощью CommandHandler в Nest CQRS
    - JS: Разработка игры на чистом JavaScript + ООП, тесты, WebSocket

    <Неделя 4>

    Dependency Injection (DI) и областей видимости в Nest.js, CI/CD: GitHub Actions
    - Dependency Injection (DI) и областей видимости в Nest.js (scopes)
    - CI/CD: GitHub Actions
    - JS: Разработка игры на чистом JavaScript + ООП, тесты, WebSocket

    5 месяц. Raw SQL (PostgreSQL). Проектирование БД. Связи между SQL таблицами, подзапросы, группировки, агрегирующие функции

    <Неделя 1>

    Реляционные базы данных
    - Ознакомление с основами SQL
    - Проблемы хранения данных
    - Обзор SQL
    - Сравнение SQL и MongoDb

    <Неделя 2>

    Создание и оптимизация таблиц в SQL
    - Модификация таблиц и ограничения в SQL
    - Связи между таблицами
    - Нормализация
    - Использование инструмента PGAdmin для работы с PostgreSQL

    <Неделя 3>

    Работа с данными в SQL
    - Практическое применение "Raw SQL" для выполнения запросов и манипуляций с данными в базе данных. Select, Where, Order by, Offset, Limit
    - Соединение таблиц в запросе. Join
    - Группировка данных. Group by, having
    - Сортировка данных, пагинация
    - Объединение запросов и подзапросы

    <Неделя 4>

    Транзакции в SQL. Безопасность. Знакомство с ORM
    - Свойства транзакций. ACID
    - Уровни изоляции транзакций
    - Работа с транзакцией в SQL

    6 месяц. SQL - TypeORM. Миграции. DB indexes

    <Неделя 1>

    Изучение SQL запросов с использованием TypeORM
    - Погружение в SQL запросы с использованием TypeORM и изучение их различных типов, включая SELECT, INSERT, UPDATE, DELETE
    - Применение фильтров, сортировки и ограничений для точной выборки данных из базы данных
    - Использование агрегатных функций для выполнения расчетов и анализа данных
    - Работа с JOIN для объединения данных из разных таблиц

    <Неделя 2>

    Нормальные формы
    - Теория нормализации баз данных
    - Денормализация, для чего и в каких случаях может применяться

    <Неделя 3>

    Миграции в базе данных
    - Введение в миграции и их использование в TypeORM для управления изменениями схемы базы данных

    <Неделя 4>

    Изучение индексов в базах данных
    - Разбор понятия индексов и их важности для оптимизации запросов в базах данных
    - Изучение типов индексов и их особенностей
    - Ознакомление с индексами в SQL базах данных
    - Примеры использования индексов в SQL базах данных для оптимизации запросов

    7 месяц. Транзакции в SQL. Уровни изоляции. Оптимистичная, пессимистичная блокировка

    <Неделя 1-4>

    Блокировки, версионирование и транзакции в SQL
    - Блокировки для обеспечения целостности данных при параллельных операциях
    - Версионирование данных для контроля доступа и обновления информации
    - Применение транзакций для гарантии согласованности данных и атомарности операций
    - Уровни изоляции транзакций и их влияние на конкурентность и целостность данных

    Тариф Самостоятельно
    • Уроки в записи
    • Неограниченный по времени доступ к записям
    • Чат-бот для мотивации в учёбе
    • Комьюнити студентов
    • 1 час индивидуальной менторской поддержки + возможность купить дополнительно со скидкой
    • Домашние задания и экзамены
    • Отработка знаний на блоггерской платформе
    Цена 77000 руб. (770 евро)
    Скрытая ссылка
     
    1 человеку нравится это.
  2. Последние события

    1. Valwizard
      Valwizard участвует.
      3 май 2025 в 00:39
    2. Святополк
      Святополк не участвует.
      30 апр 2025
    3. Святополк
      Святополк участвует.
      26 апр 2025
    4. columber
      columber участвует.
      17 апр 2025