C# ASP.NET Core разработчик | OTUS
👋 Канал OTUS в Telegram!
Посты от приглашенных гостей из IT-тусовки, полезные статьи, подборки вакансий от партнеров ➞
Подробнее

Курсы

Программирование
Web-разработчик на Python Разработчик Python Разработчик на Spring Framework Разработчик Golang iOS Разработчик. Продвинутый курс v 2.0. PostgreSQL Vue.js разработчик Архитектор программного обеспечения Разработчик C++ MS SQL Server разработчик Android-разработчик. Базовый курс Архитектор высоких нагрузок Backend-разработчик на PHP Алгоритмы для разработчиков Team Lead 2.0 Python-разработчик. Базовый курс VOIP инженер Базы данных Разработчик программных роботов (RPA) на базе UiPath и PIX Разработчик голосовых ассистентов и чат-ботов Agile Project Manager в IT
Специализации Курсы в разработке Подготовительные курсы
+7 499 938-92-02

C# ASP.NET Core разработчик

Курс для опытных C#-разработчиков по созданию сайтов на ASP.NET Core
Подойдет ли мне этот курс?

Длительность

5 месяцев

Начало

28 мая

Занятия

Чт 20:00, Вт 20:00

Общая стоимость

100 000 ₽

В месяц

22 500 ₽

Хочу дешевле
Общая стоимость
100 000 ₽
В месяц: 22 500 ₽
Продолжительность
5 месяцев, 4 академ. часа в неделю
Чт 20:00, Вт 20:00
Начало занятий
28 мая
Что даст вам этот курс

На курсе вы научитесь:


  • Самостоятельно реализовывать веб-приложения на ASP.Net Core и Razor Pages;

  • Создавать высоконагруженные API на GraphQL, gRPC и SignalR Core;

  • Покрывать веб-приложения интеграционными и нагрузочными тестами;

  • Разворачивать веб-приложения в Docker-контейнерах и в облаках;

  • Настраивать CI/CD и использовать Kubernetes;

  • Реализовывать микросервисную архитектуру и использовать RabbitMQ;

  • Управлять безопасностью и защищаться от хакерских атак;



А также познакомитесь с ReactJS и научитесь интегрировать его с ASP.NET Core;
Преподаватели
Алексей Ягур
Мария Савина
Андрей Гранковский
Ведущий разработчик в «Локо-Банк»
Виктор Николаев
Михаил Кузнецов
ING Group
Владимир Дроздецкий
Разработчик инфраструктуры exposcan.ru, crispmessenger.com
Team Lead в компании YouDo в Москве. Команда состоит из 12 человек и включает в себя бекенд, фронтенд, Android, iOS разработчиков, а также инженеров тестирования сайта и инженеров тестирования мобильных приложений.

Получил первое высшее образование по специальности "Информационные Системы и Технологии", параллельно работая программистом в Информационно-Вычислительном Центре, председателем факультета в профсоюзе и заместителем председателя в студенческом совете.
Пока получал второе высшее образование по специальности "Менеджмент Организации", создал сайт студентов потока, делал сайты на заказ, работал программистом в компании, разрабатывающей сканирующие установки для предприятий лесоперерабатывающей отрасли и старшим лаборантом в Институте Физиологии Коми Научного Центра. В 2013 году отправился покорять Москву, где до YouDo успел поработать в Актион-МЦФЭР, Social Discovery Ventures и Лаборатории Касперского.

Опыт программирования начинается с 2000 года, который включает в себя 10 лет оплачиваемого опыта работы с C#. Благодаря девизу "Постоянно учиться и расти", помимо двух высших образований, за его плечами большое количество всевозможных курсов и профессиональных переподготовок начиная с программирования на 1С и заканчивая курсами по Продакт (Нетология) и Проджект (ВШБИ при НИУ ВШЭ) менеджменту.

Руководитель программы
Тимлид, системный архитектор. В IT с 2010 года.
Занималась в основном бек-ендом высоконагруженных приложений, разработкой веб-приложений для внутренних в внешних заказчиков. Опыт программирования на java и NET/C#, работала с СУБД PostgreSQL и MSSQL .
С отличием закончила Московский финансово-промышленный университет «Синергия» по специальности Информационные системы и технологии.

Преподаватель
Профессионально занимается разработкой ПО на платформе .NET Framework, имеет статус Microsoft Certificated Professional и сертификаты MCP, MCSD: Programming in C#. Специалист по Full-stack разработке web-приложений.

Реализовывал решения в сфере продаж, здравоохранении, банкинге и недвижимости в таких компаниях, как «Фармстандарт», «Программный продукт», Райффайзенбанк и ЦИАН в качестве Back-end и Full-stack разработчика.

Имеет опыт работы с большей частью .NET-стека: от десктопных приложений на Windows Forms до микросервисов на ASP.NET Core, работающих в Docker-контейнерах и Kubernetes.

Ключевые навыки:
— React.js;
— MS SQL Server;
— HTML/CSS;
— C#;
— JavaScript;
— .NET Framework;
— Entity Framework;
— ASP.NET и другие.

В разработке всегда стремится решить проблему бизнеса, а не просто техническую задачу. Следит за развитием технологий и старается применять в проектах современные подходы. Любит DDD, .NET, архитектуру приложений, тестирование, а также работу по Agile и Scrum.

Образование: МГТУ им. Н. Э. Баумана.

Преподаватель
Закончил НГТУ (Новосибирск), факультет автоматики и вычислительной техники по специальности автоматизированные системы управления.
Последние четыре года занимаюсь разработкой распределённых облачных приложений.
За это время участвовал в создании решений для авиакомпании S7 Airlines, компании по поиску субподрядчиков в США Billy.com, системы для полицейских департаментов США.

До этого два года занимался разработкой приложений под UWP и Windows Phone, в основном это были банковские и ГИС приложения.

В данный момент работаю в компании EPAM, где занимаюсь разработкой приложений для трейдинга и медиа-сектора. Зачастую на проектах высокая нагрузка и большой объём данных. Чаще всего проекты построены с использованием Amazon Web Services или Microsoft Azure.

Сдал несколько экзаменов Microsoft по .NET, ASP.NET и Azure и являюсь Microsoft Certified Solutions Developer (MCSD).

Преподаватель
Fullstack developer в международной финансовой корпорации ING с главным офисом в Амстердаме (Нидерланды). Проектирует и поддерживает процессы WEB-разработки. Окончил химфак МГУ.

Программирует на JavaScript уже более 8 лет. Консультировал по JS-разработке, занимался популяризацией фронтенд-фреймворка Vue.js.

Кроме JavaScript, имеет опыт разработки на Python и Java. Выступал докладчиком на конференциях Frontend Conf Moscow, UtahJS и др.

Преподаватель
Занимается поддержкой и траблшутингом серверов MySQL, приложений, написанных на PHP, etc. Активно внедряет и использует докер со всей его инфраструктурой. Придерживается мнения, что всё должно быть декларативно описано, поэтому использует Ansible.

Разрабатывает и настраивает инфраструктуру для таких стартапов, как exposcan.ru, crispmessenger.com. Занимается мониторингом при помощи Zabbix и Prometheus, создаёт графики в Grafana.

Чтобы легко подстраиваться под требования бизнеса, деплоит и описывает процессы в Gitlab, собирает и обрабатывает логи в ELK и Graylog2. Любит и умеет пользоваться активным сетевым оборудованием вендора MikroTik.

Преподаватель
Алексей
Ягур
Мария
Савина
Андрей
Гранковский
Виктор
Николаев
Михаил
Кузнецов
Владимир
Дроздецкий
Преподаватели
Алексей Ягур
Team Lead в компании YouDo в Москве. Команда состоит из 12 человек и включает в себя бекенд, фронтенд, Android, iOS разработчиков, а также инженеров тестирования сайта и инженеров тестирования мобильных приложений.

Получил первое высшее образование по специальности "Информационные Системы и Технологии", параллельно работая программистом в Информационно-Вычислительном Центре, председателем факультета в профсоюзе и заместителем председателя в студенческом совете.
Пока получал второе высшее образование по специальности "Менеджмент Организации", создал сайт студентов потока, делал сайты на заказ, работал программистом в компании, разрабатывающей сканирующие установки для предприятий лесоперерабатывающей отрасли и старшим лаборантом в Институте Физиологии Коми Научного Центра. В 2013 году отправился покорять Москву, где до YouDo успел поработать в Актион-МЦФЭР, Social Discovery Ventures и Лаборатории Касперского.

Опыт программирования начинается с 2000 года, который включает в себя 10 лет оплачиваемого опыта работы с C#. Благодаря девизу "Постоянно учиться и расти", помимо двух высших образований, за его плечами большое количество всевозможных курсов и профессиональных переподготовок начиная с программирования на 1С и заканчивая курсами по Продакт (Нетология) и Проджект (ВШБИ при НИУ ВШЭ) менеджменту.

Руководитель программы
Мария Савина
Тимлид, системный архитектор. В IT с 2010 года.
Занималась в основном бек-ендом высоконагруженных приложений, разработкой веб-приложений для внутренних в внешних заказчиков. Опыт программирования на java и NET/C#, работала с СУБД PostgreSQL и MSSQL .
С отличием закончила Московский финансово-промышленный университет «Синергия» по специальности Информационные системы и технологии.

Преподаватель
Андрей Гранковский
Ведущий разработчик в «Локо-Банк»
Профессионально занимается разработкой ПО на платформе .NET Framework, имеет статус Microsoft Certificated Professional и сертификаты MCP, MCSD: Programming in C#. Специалист по Full-stack разработке web-приложений.

Реализовывал решения в сфере продаж, здравоохранении, банкинге и недвижимости в таких компаниях, как «Фармстандарт», «Программный продукт», Райффайзенбанк и ЦИАН в качестве Back-end и Full-stack разработчика.

Имеет опыт работы с большей частью .NET-стека: от десктопных приложений на Windows Forms до микросервисов на ASP.NET Core, работающих в Docker-контейнерах и Kubernetes.

Ключевые навыки:
— React.js;
— MS SQL Server;
— HTML/CSS;
— C#;
— JavaScript;
— .NET Framework;
— Entity Framework;
— ASP.NET и другие.

В разработке всегда стремится решить проблему бизнеса, а не просто техническую задачу. Следит за развитием технологий и старается применять в проектах современные подходы. Любит DDD, .NET, архитектуру приложений, тестирование, а также работу по Agile и Scrum.

Образование: МГТУ им. Н. Э. Баумана.

Преподаватель
Виктор Николаев
Закончил НГТУ (Новосибирск), факультет автоматики и вычислительной техники по специальности автоматизированные системы управления.
Последние четыре года занимаюсь разработкой распределённых облачных приложений.
За это время участвовал в создании решений для авиакомпании S7 Airlines, компании по поиску субподрядчиков в США Billy.com, системы для полицейских департаментов США.

До этого два года занимался разработкой приложений под UWP и Windows Phone, в основном это были банковские и ГИС приложения.

В данный момент работаю в компании EPAM, где занимаюсь разработкой приложений для трейдинга и медиа-сектора. Зачастую на проектах высокая нагрузка и большой объём данных. Чаще всего проекты построены с использованием Amazon Web Services или Microsoft Azure.

Сдал несколько экзаменов Microsoft по .NET, ASP.NET и Azure и являюсь Microsoft Certified Solutions Developer (MCSD).

Преподаватель
Михаил Кузнецов
ING Group
Fullstack developer в международной финансовой корпорации ING с главным офисом в Амстердаме (Нидерланды). Проектирует и поддерживает процессы WEB-разработки. Окончил химфак МГУ.

Программирует на JavaScript уже более 8 лет. Консультировал по JS-разработке, занимался популяризацией фронтенд-фреймворка Vue.js.

Кроме JavaScript, имеет опыт разработки на Python и Java. Выступал докладчиком на конференциях Frontend Conf Moscow, UtahJS и др.

Преподаватель
Владимир Дроздецкий
Разработчик инфраструктуры exposcan.ru, crispmessenger.com
Занимается поддержкой и траблшутингом серверов MySQL, приложений, написанных на PHP, etc. Активно внедряет и использует докер со всей его инфраструктурой. Придерживается мнения, что всё должно быть декларативно описано, поэтому использует Ansible.

Разрабатывает и настраивает инфраструктуру для таких стартапов, как exposcan.ru, crispmessenger.com. Занимается мониторингом при помощи Zabbix и Prometheus, создаёт графики в Grafana.

Чтобы легко подстраиваться под требования бизнеса, деплоит и описывает процессы в Gitlab, собирает и обрабатывает логи в ELK и Graylog2. Любит и умеет пользоваться активным сетевым оборудованием вендора MikroTik.

Преподаватель
Необходимые знания
  • опыт разработки на C# от 3 лет;
  • базовые знания по HTML, CSS и JavaScript;
  • понимание работы .NET Framework и CLR;
  • опыт работы в VisualStudio или Rider;
  • навыки работы с Git.
Подготовительный курс

  • Изучение языка C# на примере создания 4х проектов

  • Основные возможности языка C#

  • Знакомство с WPF и разработка чат-ботов

  • Все необходимые знания и навыки для курса "Разработчик С#"

Записаться
Процесс обучения
Все обучение проходит онлайн: вебинары, общение с преподавателями и вашей группой в слаке курса, сдача домашних работ и получение обратной связи от преподавателя.

Вебинары идут дважды в неделю по 2 академических часа (то есть астрономических 1,5 часа). Все вебинары сохраняются и в записи в вашем личном кабинете.

Домашнее задание выдается в среднем одно в 2 недели.

Возникающие вопросы по материалам лекций, домашним заданиям и по выпускному проекту вы сможете задавать преподавателю в слаке или во время вебинаров.
Программа обучения
Модуль 1
Введение в ASP.NET Core и WebApi
Модуль 2
Разворачивание приложения в облаке
Модуль 3
Прокачиваем проект
Модуль 4
Микросервисная архитектура
Модуль 5
Frontend-технологии
Модуль 6
Управление безопасностью
Модуль 7
Проектная работа
Введение в ASP.NET Core и WebApi
В этом модуле вы узнаете об устройстве ASP.NET Core, контроллерах и работе с двумя базовыми инструментами - DI-контейнеры и Entity Framework Core.
Тема 1: Вводное занятие в курс
познакомиться с преподавателями курса;
определиться с персональными целями;
обсудить формат Scrum-команд.
Тема 2: Знакомимся с ASP.NET Core
объяснить, что такое ASP.NET Core и какую проблему он решает;
рассказать какие функции и модули есть внутри фреймворка (MVC, Model Binding, Request LifeCycle);
использовать шаблон для домашних работ:
Asp.net Core vs Asp.net 5;
Request LifeCycle.
Домашние задания: 1
1 Подготовка инфраструктуры обучения и проекта по шаблону
Описание также доступно в https://gitlab.com/devgrav/otus.teaching.promocodefactory/-/wikis/Homework-1

Для всех:

1) Зарегистрироваться на Гитлабе и сделать коммит в общий проект, при сдаче ДЗ необходимо приложить ссылку на коммит в gitlab репозитории;
Если присоединились к курсу после первого занятия, то нужно написать в slack-канал потока о том, что начали заниматься на курсе после первого занятия и хотели бы присоединиться к scrum-команде, можно продублировать сообщение ментору Андрею Иванову или руководителю программы Алексею Ягуру (Aleksey Yagur), они с радостью помогут найти подходящую команду.
2) Написать “о себе” в закрытой группе команды, при сдаче ДЗ также приложить ссылку на сообщение в Slack;
3) Написать три способа траты баллов.
4) Сделать форк репозитория для домашнего задания №1 в свой личный репозиторий и прислать ссылку на него, также нужно убедиться, что проект запускается, достаточно написать, проверили ли вы работу шаблона, вызвав метод API через Swagger, ссылка на репозиторий https://gitlab.com/devgrav/otus.teaching.promocodefactory.homework.base. Проект использует .NET Core 3.1, так что надо убедиться, что установлено SDK https://dotnet.microsoft.com/download/dotnet-core/3.1 и все собирается и запускается на вашей машине
5) Дополнительный пункт по желанию, попробуйте реализовать Create/Delete/Update методы в EmployeesController на основе материалов ближайших уроков модуля и дополнительных материалов. Методы должны также использовать репозиторий с данными в памяти, как в базовом примере, при этом состояние списка сотрудников должно сохраняться между разными запросами.

Для SCRUM-мастеров:

6) Выбрать название для команды;
7) Создать закрытый чат команды в слаке (добавить в него @Alex Yagur и наставника команды);
8) Создать проект на Гитлабе;
9) Выбрать проект для команды;
10) Создать доски задач: беклог, в работе, сделано;
11) Наполнить верхнеуровневый беклог.
Тема 3: Конфигурирование приложения, разработка контроллеров и подключение Swagger-а
конфигурировать запуск приложения;
настраивать маршрутизацию запросов;
создавать свои Контроллеры и Действия;
использовать Swagger для описания своего API и генерации клиентов.
9 июня, 20:00 — 21:30
Лектор: Виктор Николаев
Тема 4: Стандартный и нестандартные DI контейнеры: что и когда использовать
объяснить что означает D в аббревиатуре SOLID
использовать стандартный DI-контейнер
подключать нестандартный DI-контейнер
11 июня, 20:00 — 21:30
Лектор: Андрей Гранковский
Тема 5: Работа с базой данных с помощью Entity Framework Core
настроить работу с реляционной БД через EF;
объяснить, что представляет из себя паттерн Репозиторий и паттерн Unit Of Work.
16 июня, 20:00 — 21:30
Лектор: Мария Савина
Домашние задания: 1
1 Создать базу данных и сконфигурировать EF
Разворачивание приложения в облаке
Здесь вы познакомитесь с Докером и Kubernetes, самостоятельно создадите докер образ и научитесь настраивать билд-систему, а также разворачивать ваше приложение в облаке. Также, это первый модуль, в котором будет "Ретроспектива и планирование" - занятие, ориентированное на прокачку командного взаимодействия, а также ваших навыков декомпозиции и планирования задач.
Тема 1: Способы размещения приложения, Kestrel, IIS
различать способы размещения приложений для ASP.NET Core;
назвать различия, плюсы и минусы использования различных web-серверов для ASP.NET Core и конфигурировать их;
использовать Generic Host и Web Host, писать свои Hosted Service для фоновых задач;
18 июня, 20:00 — 21:30
Лектор: Андрей Гранковский
Тема 2: Введение в docker, обзор docker compose
объяснить, что такое Docker и зачем нужна контейнеризация приложений;
составить Dockerfile для ASP.NET Core приложения на основе примера;
читать и понимать содержимое docker-compose файлов;
составлять docker-compose файлы самостоятельно и настраивать конфигурацию ASP.NET Core сервиса по переменным окружения.
23 июня, 20:00 — 21:30
Лектор: Владимир Дроздецкий
Домашние задания: 1
1 Сделать docker compose file + Настроить CI для своего проекта
Тема 3: Введение в CI/CD и настройка на практике
объяснить, что представляет собой понятие DevOps и зачем нужно;
объяснить, что из себя представляет процесс CI/CD;
сформулировать основные инструменты для CI и CD, их отличия;
настроить собственный CI/CD в GitLab для ASP.NET Core сервиса;
25 июня, 20:00 — 21:30
Тема 4: Использование Kubernetes в качестве системы оркестрации контейнеров
объяснить, что из себя представляет система оркестрации контейнеров;
назвать плюсы и минусы Kubernetes по сравнению с остальными.
30 июня, 20:00 — 21:30
Лектор: Владимир Дроздецкий
Тема 5: Разворачивание ASP.NET Core приложения в облаке
выбрать подходящую площадку для разворачивания;
разворачивать свои приложения на выбранной площадке.
2 июля, 20:00 — 21:30
Лектор: Виктор Николаев
Тема 6: Ретроспектива и планирование
уверенно участвовать в ретроспективах;
планировать объём работ на будущее.
7 июля, 20:00 — 21:30
Лектор: Алексей Ягур
Прокачиваем проект
После этого модуля вы сможете легко отделить интеграционное тестирование от нагрузочного, разбираться в последовательности вызовов Middleware, правильно организовывать логи, валидацию данных и кеширование. А вишенкой на торте станет детальный разбор различных способов организации API.
Тема 1: Юнит тестирование: фреймворки и инструменты
изучить основные отличия между популярными фреймворками для тестирования на .NET и посмотреть возможности XUnit;
разобраться с шаблонами написания поддерживаемых тестов (AAA, именование, создание тестовых данных через фабричные методы, билдеры и Autofixture);
использовать Fluent Assertion для написания удобных утверждений в тестах;
разобраться, как тестировать контроллеры и почему тесты на состояние бывают предпочтительнее тестов на поведение, поработать с Moq;
написать несколько Unit-тестов на предложенные сценарии на XUnit.
9 июля, 20:00 — 21:30
Лектор: Андрей Гранковский
Домашние задания: 1
1 Написать тесты к своему проекту и добавить их прогон в CI
Тема 2: Конвейеры ПО промежуточного слоя (Middleware)
объяснить, как работает конвейер запроса в ASP.NET Core;
проанализировать в каком порядке вызываются middleware в цикле запрос/ответ;
объяснить, как написать свой middleware и в каком случае это может быть нужно;
получить примеры кастомных middleware для разных задач и разобрать какой-то стандартный middleware из ASP.NET Core.
14 июля, 20:00 — 21:30
Лектор: Виктор Николаев
Тема 3: Различные способы валидации данных
проанализировать, как работает ModelBinding, как и зачем; реализовать свой код и как связан с сериализацией данных;
проанализировать работу со встроенными механизмами валидации модели (атрибутами и устройством model state) и как писать свои атрибуты валидации;
написать валидатор через Fluent Validation и чем удобна эта библиотека.
16 июля, 20:00 — 21:30
Лектор: Алексей Ягур
Тема 4: Как устроено логгирование в ASP.NET Core
проанализировать принцип устройства ILogger и уровни логирования;
проанализировать куда можно писать логи в ASP.NET Core и с помощью чего;
получить пример текущих Best Practices для логирования, Pull/Push модели логирования для средств просмотра логов (ELK, GreyLog);
настроить логирование на Serilog.
21 июля, 20:00 — 21:30
Лектор: Виктор Николаев
Тема 5: Кеширование: внутреннее и внешнее
сформулировать причины зачем нужно кеширование и какие данные подходят для кеша, а также получить способы инвалидации кеша;
проанализировать как устроено кеширование на уровне HTTP, кеш ответов через UseResponseCaching;
разобраться, когда достаточно внутреннего кеширования, а когда нужно внешнее;
посмотреть использование IMemoryCache и как масштабировать сервисы с кешем;
посмотреть использование IDistributedCache на примере Redis и сравнение с Memcached.
23 июля, 20:00 — 21:30
Лектор: Виктор Николаев
Тема 6: Пишем свой API: REST vs OData
разобраться с REST-стилем для описания API в ASP.NET Core и уровнями зрелости REST;
посмотреть примеры разработки REST API и лучшие практики (методы версионирования, описание через Swagger и т.д.);
получить представление и примеры работы с протоколом Odata и его преимущствах по сравнению с REST на ASP.NET Core.
28 июля, 20:00 — 21:30
Лектор: Александр Щапов
Тема 7: Пишем свой API: GraphQL, gRPC, SignalR Core
проанализировать почему появился и как может быть полезен GraphQl для разработки API;
разобрать пример реализации GraphQl Api на ASP.NET Core;
провести обзор gRPС протокола и работы с ним из ASP.NET Core на примерах;
объяснить взаимодействие в режиме реального времени через SignalR и Websocket.
6 августа, 20:00 — 21:30
Лектор: Виктор Николаев
Домашние задания: 1
1 Добавить один из инструментов к своему проекту
Тема 8: Интеграционное, нагрузочное тестирование
сформулировать подходы к интеграционному тестированию в ASP.NET Core;
посмотреть, как можно тестировать ASP.NET Core через WebApplicationFactory и xUnit;
сформировать представление о BDD подходе к тестированию и посмотреть пример тестирования через SpecFlow;
посмотреть, как можно провести нагрузочное тестирования сервиса на ASP.NET.
11 августа, 20:00 — 21:30
Лектор: Андрей Гранковский
Тема 9: Ретроспектива и планирование
уверенно участвовать в ретроспективах;
планировать объём работ на будущее.
13 августа, 20:00 — 21:30
Лектор: Алексей Ягур
Микросервисная архитектура
Вы узнаете как и когда следует делить монолит на микросервисы, как правильно организовывать взаимодействие микросервисов с базами данных и другими микросервисами.
Тема 1: Монолиты и микросервисы: что есть что
отличать монолит от микросервиса;
объяснить, что и в каких случаях лучше использовать;
перечислить плюсы и минусы различных способов построения систем.
18 августа, 20:00 — 21:30
Лектор: Виктор Николаев
Тема 2: Как превратить монолит в микросервисы
объяснить в каких случаях стоит, а в каких - не стоит разделять систему на более мелкие части;
проводить декомпозицию большой монолитной системы на подсистемы;
выделять микросервисы по функциям и доменам (DDD) системы;
планировать разделение большой системы на подсистемы с помощью шаблонов интеграции приложений.
20 августа, 20:00 — 21:30
Лектор: Виктор Николаев
Домашние задания: 1
1 Выделить часть функционала монолита в микросервис
Тема 3: Работа с данными в микросервисах: Архитектура
объяснить различные способы организации согласованности данных в микросервисах;
разделять потоки данных между микросервисами через CQRS;
аргументировать за и против использования синхронных и асинхронных каналов взаимодействия;
использовать MassTransit и RabbitMq для реализации асинхронного обмена данными между микросервисами;
объяснить в каких случаях и как использовать CQRS и Event Sourcing, саги и распределенные транзакции;
25 августа, 20:00 — 21:30
Лектор: Андрей Гранковский
Тема 4: Работа с данными в микросервисах: Работа с реляционными БД
объяснить основную идею реляционных баз данных и необходимость их использования, индексы и уровни изоляции транзакций;
использовать ADO.NET для работы с базой данных в приложении;
использовать Dapper для упрощения работы с объектами, используемыми при взаимодействии с базой данных.
27 августа, 20:00 — 21:30
Лектор: Александр Щапов
Тема 5: Работа с данными в микросервисах: Работа с NoSQL
объяснить в чём сходство и отличие SQL и NoSQL;
выделить подходящие данные для хранения в NoSQL базе данных;
использовать NoSQL базу данных в своём проекте на примере MongoDb или Cassandra.
1 сентября, 20:00 — 21:30
Лектор: Александр Щапов
Домашние задания: 1
1 Добавить NoSQL базу в микросервис
Тема 6: Обзор популярных брокеров сообщений и работа с RabbitMQ
рассказать в чём отличия и сходства популярных брокеров сообщений;
создавать собственные облачные сервера с настроенным для работы RabbitMQ;
писать приложения, использующие облачный сервер RabbitMQ для общения друг с другом.
3 сентября, 20:00 — 21:30
Лектор: Алексей Ягур
Домашние задания: 1
1 Подключить RabbitMQ к своему проекту
Тема 7: Как создать хороший шаблон для микросервисов
снизить дублирование кода в микросервисах;
объяснить плюсы и минусы использования общего и раздельного кода в микросервисах для одних и тех же функций;
перечислить желательные свойства и характеристики "правильного" шаблона для микросервисов.
8 сентября, 20:00 — 21:30
Лектор: Андрей Гранковский
Тема 8: Ретроспектива и планирование
уверенно участвовать в ретроспективах;
планировать объём работ на будущее.
10 сентября, 20:00 — 21:30
Лектор: Алексей Ягур
Frontend-технологии
После этого модуля вы сможете самостоятельно реализовывать клиентский интерфейс, как с помощью Razor, так и на основе React.JS. Также, вам будет дано обзорное представление фреймворков в современном фронтенде и различные способы взаимодействия Фронтенд и Бекенд частей.
Тема 1: Базовые элементы фронтенда: Razor + jQuery + MVC
создавать веб-страницы с использованием Razor;
подключать и использовать jQuery на этих страницах;
объяснить как на практике работает схема разделения данных MVC.
22 сентября, 20:00 — 21:30
Лектор: Мария Савина
Домашние задания: 1
1 Добавить UI на Razor к проекту
Тема 2: Современный фронтенд
различать современный JS синтаксис (JS, ES5/ES6/ES8);
использовать CSS-preprocessors для стилизации;
создавать JS проект с NPM;
получать данные с AJAX в браузере;
расширять webpack config.
24 сентября, 20:00 — 21:30
Лектор: Михаил Кузнецов
Тема 3: Введение в React
провести обзор современных JS-фреймворков;
развернуть react приложение;
сделать eject;
написать разметку компонента на JSX;
добавить валидацию props.
28 сентября, 20:00 — 21:30
Лектор: Михаил Кузнецов
Домашние задания: 1
1 Базовый сетап фронтенд части проекта с React
Цель: Научиться разворачивать фронтенд проекты с npm, webpack, React Разобраться с настройками webpack Подключить axios
Тема 4: React
добавить stat к компоненту;
создать обмен данными parent-child components;
рассмотреть очередность и условия вызова lifecycle hooks;
добавить многостраничность с React Router;
добавить работу с стейтом через Redux.
1 октября, 20:00 — 21:30
Лектор: Михаил Кузнецов
Тема 5: React Router & Redux
добавить многостраничность с React Router;
добавить работу с стейтом через Redux.
6 октября, 20:00 — 21:30
Лектор: Михаил Кузнецов
Домашние задания: 1
1 Роутинг и управление стейтом с React
Цель: Научиться писать сложный фронтенд с роутингом и управлением стейтом Разобраться с подключением сторонних плагинов и UI компонентов
Тема 6: Как подружить React.JS с Asp.net Core
объяснить в каких случаях и как разделять фронтовое и бекенд приложения;
определить плюсы и минусы подобного разделения, а также влияния этого на архитектуру приложения в целом и появляющихся особенностей разворачивания и поддержки.
8 октября, 20:00 — 21:30
Лектор: Виктор Николаев
Домашние задания: 1
1 Создать проект для React.js и связать с проектом по API
Тема 7: Ретроспектива и планирование
уверенно участвовать в ретроспективах;
планировать объём работ на будущее.
13 октября, 20:00 — 21:30
Лектор: Алексей Ягур
Управление безопасностью
Уроки этого модуля научат вас правильной организации авторизации/аутентификации, разграничению прав доступа и защите от различных хакерских атак.
Тема 1: Модель авторизации / аутентификации в Asp.net Core
разобраться в том, как устроена аутентификация/ авторизация в ASP.NET Core и чем они отличаются;
разобраться в структуре сущностей Identity, Claims, Role;
посмотреть какие есть способы передачи данных аутентификации / авторизации, токены (jwt), cookies, windows auth;
проанализировать варианты реализации авторизации в микросервисах.
15 октября, 20:00 — 21:30
Лектор: Виктор Николаев
Тема 2: Разграничение прав доступа встроенными средствами
объяснить как устроена авторизация на основе Roles, Claims, Policies;
рассказать как сделать императивную авторизацию;
реализовать ограничение доступа к данным, чтобы пользователи видели только доступные для них данные.;
20 октября, 20:00 — 21:30
Лектор: Андрей Иванов
Тема 3: Identity Server 4: Обзор и устройство
посмотреть, что из себя представляет Identity Server и какую проблему решает;
разобраться в протоколе OAuth, JWE, JWS, JWT.
22 октября, 20:00 — 21:30
Лектор: Андрей Гранковский
Домашние задания: 1
1 Создать собственный сервис для авторизации + логин через Гугл
Тема 4: Identity Server 4: Вход через внешних провайдеров
посмотреть примеры реализации логина через внешних провайдеров, Google, Facebook и т.д. на Identity Server.
27 октября, 20:00 — 21:30
Лектор: Андрей Гранковский
Тема 5: Как защититься от хакерских атак
провести обзор основных механизмов атаки на API и сайты;
получить способы борьбы с ними на ASP.NET Core и .NET.
29 октября, 20:00 — 21:30
Лектор: Виктор Николаев
Проектная работа
Заключительный модуль курса посвящен проектной работе. Проект — это отличная возможность объединить все полученные на курсе знания в одной системе.
Тема 1: Консультация по проектам и домашним заданиям
получить ответы на вопросы по проекту, ДЗ и по курсу.
3 ноября, 20:00 — 21:30
Лектор: Алексей Ягур
Тема 2: Защита проектных работ
защитить проект и получить рекомендации экспертов.
5 ноября, 20:00 — 21:30
Лектор: Алексей Ягур
Домашние задания: 1
1 Сдать итоговый проект
Выпускной проект
Выпускной проект — возможность закрепить навыки, наработанные в процессе обучения. Задача — разработать с нуля полнофункциональное ASP.NET Core приложение, распространяемое в виде docker-compose файла, использующее современные frontend-технологии (Razor или React.JS), REST API и Swagger с GraphQL/gRPC/SignalR на выбор, нестандартный DI-контейнер, собственный обработчик промежуточного слоя (Middleware) и работающее с базой данных через EntityFramework Core. Также, должна быть настроена автоматическая сборка CI на GitLab,

Также, проект должен быть покрыт юнит-тестами и иметь валидацию данных, логирование и кеширование. Для авторизации пользователей понадобится написать свой сервис авторизации и реализовать доступ через Гугл. Помимо основного сервиса должно быть создано минимум два микросервиса, общающихся с основным приложением через Брокер Сообщений и использующих NoSQL базы (по желанию).

Темы для проектов будут предоставлены преподавателями (например, приложение по распределению доставок курьерам), но можно взять и свою задачу, подходящую под требования.
Прошедшие открытые вебинары по курсу
Открытый вебинар — это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.
ASP.NET Core: Быстрый старт
Андрей Гранковский
День открытых дверей
22 мая в 20:00
Для доступа к прошедшим мероприятиям необходимо пройти входное тестирование
Возможность пройти вступительное тестирование повторно появится только через 2 недели
Результаты тестирования будут отправлены вам на e-mail, указанный при регистрации.
Тест рассчитан на 30 минут, после начала тестирования отложить тестирование не получится!
Пройти вступительное тестирование
После обучения вы

  • заберете с собой полный комплект обучающих материалов: видеозаписи всех вебинаров, презентации к занятиям, а также решение задач и проектов в виде кода на github и другие дополнительные материалы;

  • получите сертификат о прохождении курса;

  • приобретете богатый опыт в промышленной разработке на ASP.NET Core;

  • освоите frontend-разработку на ReactJS;

  • получите приглашение пройти собеседование в компаниях-партнерах (эту возможность получают самые успешные студенты).

Дата выдачи сертификата: 2 декабря 2020 года
Ваш сертификат

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «C# ASP.NET Core разработчик»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Генеральный директор ООО “Отус Онлайн-Образование”
Виталий Чибриков

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018 года.

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «C# ASP.NET Core разработчик»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Генеральный директор ООО “Отус Онлайн-Образование”
Виталий Чибриков

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018 года.
Общая стоимость
100 000 ₽
В месяц: 22 500 ₽
Продолжительность
5 месяцев
Начало занятий
28 мая
🎁 Дарим сертификаты на скидку!
Запишитесь на июньскую трансляцию интересного вам дня открытых дверей и участвуйте в Акции ➞