Постер курса

OTUS

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

  • Начальный уровень
  • Наставник: Нет
  • Сертификат: Нет
  • Формат: Online
  • Рассрочка: Нет
  • Язык: Русский
  • Осталось мест: Неограничено
Записаться

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

Что даст вам этот курс


Вы сможете создавать различные информационные системы, состоящие из сайтов, мобильных клиентов, телеграмм-ботов и т.д., используя фреймворк C# ASP.NET Core и смежные технологии, такие как ReactJS, Xamarin и другие. Фреймворк позволяет быстро разрабатывать сложный функционал и высоконагруженные системы, требовательные к производительности. Вы научитесь решать задачи бэкенда и фронтенда, а также получите необходимые навыки работы с базами данных, UI, бизнес-логикой, настройками безопасности.

Для кого этот курс?


Для C#-разработчиков с опытом от 2-3 лет, которые хотят углубиться в создание web-приложений, стать fullstack-специалистами.

Практика и командный подход


Все практические задания курса делятся на три составляющие: персональные домашние задания, групповая разработка в рамках занятий и итоговая проектная работа. На первых занятиях вы объединитесь с другими студентами в команды по 5 человек для совместной разработки в Scrum-фреймворке. Такой подход к практике имеет множество преимуществ: вы развиваете важные софт-скиллы, учитесь соблюдать code style и лучше разбираться в архитектуре проекта. Кроме того, командная работа упрощает нетворкинг, приумножает обмен опытом и помогает сохранять интерес к обучению до конца курса. Готовая работа пополнит портфолио серьезным проектом, с которым вам будет легко произвести впечатление на собеседованиях.

Вы научитесь:

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

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

Освоите JavaScript, познакомитесь с ReactJS и научитесь интегрировать его с ASP.NET Core

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

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

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

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

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

Бонус: видеокурс «JavaScript для начинающих» для самостоятельного прохождения. Эти знания вам понадобятся для освоения Модуля 5, если до этого у вас не было опыта работы с JavaScript.

Выпускной проект


Выпускной проект — возможность закрепить навыки, наработанные в процессе обучения. Задача — разработать с нуля полнофункциональное ASP.NET Core приложение, распространяемое в виде docker-compose файла, использующее современные frontend-технологии (Razor или React.JS), REST API и Swagger с GraphQL/gRPC/SignalR на выбор, нестандартный DI-контейнер, собственный обработчик промежуточного слоя (Middleware) и работающее с базой данных через EntityFramework Core. Также, должна быть настроена автоматическая сборка CI на GitLab, Также, проект должен быть покрыт юнит-тестами и иметь валидацию данных, логирование и кеширование. Для авторизации пользователей понадобится написать свой сервис авторизации и реализовать доступ через Гугл. Помимо основного сервиса должно быть создано минимум два микросервиса, общающихся с основным приложением через Брокер Сообщений и использующих NoSQL базы (по желанию).Темы для проектов будут предоставлены преподавателями (например, приложение по распределению доставок курьерам), но можно взять и свою задачу, подходящую под требования.

Процесс обучения


Все обучение проходит онлайн: вебинары, общение с преподавателями и вашей группой в Slack-чате курса, сдача домашних работ и получение обратной связи от преподавателя. Вебинары идут дважды в неделю по 2 академических часа (то есть астрономических 1,5 часа). Все вебинары сохраняются и в записи в вашем личном кабинете. Домашнее задание выдается в среднем одно в 2 недели. Возникающие вопросы по материалам лекций, домашним заданиям и по выпускному проекту вы сможете задавать преподавателю в Slack или во время вебинаров.
Программа обучения
Введение в ASP.NET Core и WebApi
  • Тема 1. Вводное занятие в курс // ДЗ
  • Тема 2. Знакомимся с ASP.NET Core // ДЗ
  • Тема 3. Конфигурирование приложения, разработка контроллеров и подключение Swagger-а
  • Тема 4. Стандартный и нестандартные DI контейнеры: что и когда использовать
  • Тема 5. Работа с базой данных с помощью Entity Framework Core // ДЗ
  • Тема 6. Конвейеры ПО промежуточного слоя (Middleware)
  • Тема 7. Юнит тестирование: фреймворки и инструменты // ДЗ
Разворачивание приложения в облаке
  • Тема 8. Способы размещения приложения, Kestrel, IIS
  • Тема 9. Введение в docker, обзор docker compose // ДЗ
  • Тема 10. Использование Kubernetes в качестве системы оркестрации контейнеров
  • Тема 11. Разворачивание ASP.NET Core приложения в облаке
  • Тема 12. Введение в CI/CD и настройка на практике
  • Тема 13. Ретроспектива и планирование
Прокачиваем проект
  • Тема 14. Модель авторизации / аутентификации в Asp.net Core
  • Тема 15. Разграничение прав доступа встроенными средствами
  • Тема 16. Identity Server 4
  • Тема 17. Как устроено логгирование в ASP.NET Core
  • Тема 18. Различные способы валидации данных
  • Тема 19. Кеширование: внутреннее и внешнее
  • Тема 20. Интеграционное, нагрузочное тестирование
  • Тема 21. Ретроспектива и планирование
Микросервисная архитектура
  • Тема 22. Монолиты и микросервисы: что есть что
  • Тема 23. Работа с данными в микросервисах: Работа с NoSQL // ДЗ
  • Тема 24. Как превратить монолит в микросервисы // ДЗ
  • Тема 25. Работа с данными в микросервисах: Архитектура
  • Тема 26. Работа с данными в микросервисах: Работа с реляционными БД
  • Тема 27. Обзор популярных брокеров сообщений и работа с RabbitMQ // ДЗ
  • Тема 28. Как создать хороший шаблон для микросервисов
  • Тема 29. Ретроспектива и планирование
Frontend-технологии
  • Тема 30. Blazor
  • Тема 31. Современный фронтенд
  • Тема 32. Введение в React // ДЗ
  • Тема 33. React
  • Тема 34. React Router & Redux // ДЗ
  • Тема 35. React хуки и популярные библиотеки
  • Тема 36. Как подружить React.JS с Asp.net Core // ДЗ
  • Тема 37. Ретроспектива и планирование
Работа с API
  • Тема 38. Пишем свой API: OData
  • Тема 39. Пишем свой API: GraphQL
  • Тема 40. Пишем свой API: gRPC // ДЗ
  • Тема 41. Пишем свой API: SignalR Core
  • Тема 42. Как защититься от хакерских атак
  • Тема 43. Рефакторинг старого кода
Проектная работа
  • Тема 44. Консультация по проектам и домашним заданиям
  • Тема 45. Защита проектных работ
Что нужно знать?
  • опыт разработки на C# от 3 лет;
  • базовые знания по HTML и CSS;
  • понимание работы .NET Framework и CLR;
  • опыт работы в VisualStudio или Rider;
  • навыки работы с Git
Знания и навыки, которые приобретете
  • Если у вас есть соответствующее профильное образование, вы можете получить удостоверение о повышении квалификации.;
  • В результате обучения вы:
  • Научитесь выстраивать пайплайны пакетной и потоковой обработки данных;
  • Получите приглашение пройти собеседование в компаниях-партнёрах (в случае успешного освоения программы курса).
  • Получите приглашение пройти собеседование в компаниях-партнерах OTUS в Москве (в случае успешного обучения на курсе).
Партнеры

Преподаватели

  • Алексей Ягур

    Lead Software Engineer в компании "СберОбразование"

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

  • Александр Новиков

    Более 13 лет в ИТ, работал как в кровавом энтерпрайзе так и в уютных стартапах. Опыт в программировании от консольных приложений до высоконагруженный проектов.Большой опыт работы с облаками, счастливый обладатель всей сертификации по Azure (az-xxx). Преподаватель

  • Станислав Шурупин

    Lead Software Engineer в компании "СберОбразование"

    Занимается full-stack разработкой ERP и E-commerce решений. Имеет опыт построения архитектуры приложений с использованием .NET-стека, создания дизайна баз данных, использования облачных технологий, настройки CI/CD. Работал над проектами для компаний Lowe's, PMI, Cytiva.Закончил КФУ, институт вычислительной математики и информационных технологий. Является сертифицированным разработчиком Microsoft Azure Developer Associate. Преподаватель

  • Эдгар Пилипсон

    Ведущий инженер в Nexign

    Окончил Московский Авиационный Институт в 2014 году. Работаю c .Net около 10 лет. Начинал с десктопа (WPF), Silverlight. Сейчас основной инструмент - ASP.Net Core, на фронте использую Angular 2+, React.Опыт работы с БД: SQL Server, Postgres. Также доводилось использовать Camunda, RabbitMQ.Сертифицирован по MCSD: App Builder, MCSA: SQL 2016 Database Development. Преподаватель

  • Роман Приходько

    .Net разработчик компании Solarlab.Более 5 лет работаю .Net разработчиком промышленных приложений. Сертифицированный Microsoft специалист по направлениям:- Разработка ASP.NET MVC приложений- Язык программирования C#- Программирование в HTML5 c Javascript и CSSДо 2015 года руководил отделом автоматизированного тестирования.По совместительству занимаюсь преподаванием в Севастопольском государственном университете.Образование:Кандидат технических наукОдесский национальный университет имени И.И. Мечникова, специальность - математика Преподаватель

  • Алексей Кондрашов

    Team Lead в компании Kyckr в Лондоне

    Закончил факультет Компьютерной Инженерии в Восточноукраиском Университете им. Даля. Имеет 10 лет коммерческого опыта разработки на .NET и Java. Работал как в больших и неповоротливых компаниях так и в маленьких командах, где требования меняются каждый день. Специализируется на разработке API и архитектуре бизнес приложений.

  • Михаил Кузнецов

    Fullstack developer и тимлид в Zalando, Germany

    Fullstack developer и тимлид в компании Zalando, Germany. Проектирует и поддерживает процессы WEB-разработки. Окончил химфак МГУ. Опыт в разработке - более 10 лет. Консультировал по разработке, занимался популяризацией фронтенд-фреймворка Vue и SvelteJS. Кроме JavaScript, имеет опыт разработки на Python и Java. С 2017 года выступал на множестве конференций, включая Frontend Conf Moscow, JSNation, Vue conference и др.

  • Виктор Дзицкий

    Получил первое высшее образование в СевГУ, факультет автоматики и вычислительной техники. В промышленной разработке на C# больше 10 лет.Начал свой профессиональный путь в качестве С# разработчика тестовой инфраструктуры в Лаборатории Касперского, в дальнейшем увлекся веб-разработкой.В данный момент работает в компании SolarLab на проекте, связанном с полным циклом разработки крупной тендерной площадки. Занимает позицию Team Lead / Full-stack .NET Developer.Сдал несколько экзаменов Microsoft по .NET, ASP.NET и Azure и является Microsoft Certified Solutions Developer (MCSD). Преподаватель

  • Андрей Иванов

    Один из разработчиков academy.cppstudio.com - бесплатного интерактивного сервиса по обучению С++. Свыше 5 лет опыта разработки приложений на C++ и C#.Используемые технологии и фрэймворки:WPF, WinForms, EF6, ASP.NET MVC5, ASP.NET Core 2. Преподаватель

  • Антон Герасименко

    .net developer + leadКоммерческой продуктовой разработкой занимаюсь с 2013.Сейчас разрабатываю решения для системы (включающей более 10 продуктов) видеонаблюдения и видеоаналитики в компании "Интелком лайн". До этого разрабатывал информационную системы для порталов РПГУ, ЕПГУ, госуслуг.Опыт работы с .net: от десктопных wpf приложения до микросервисов на asp.net. Есть опыт в построении микросервисов на node.js.Последнее 2 года занимаюсь развитием и ростом команды на dotnet и фронта.Образование: ВолгГТУ, факультет электроники и вычислительной техники Преподаватель

  • Дмитрий Гурьянов

    Тимлид команды разработки CRM-решений на платформе .NET в Промсвязьбанке.Аспирант кафедры "Системы обработки информации и управления" в МГТУ им. Н.Э. БауманаИмеет более 6 лет опыта разработки на платформе .NET, занимается разработкой в области систем автоматизации продаж с 2016 года. Специализируется на внедрении решений на базе платформы Microsoft Dynamics, консультирует системных интеграторов по вопросам внедрения корпоративных систем на базе решений Microsoft.В своей профессиональной карьере также работал в Российском офисе компании работал в Microsoft над продуктом Bing, где занимался разработкой системы сравнения релевантности поисковой выдачи с конкурирующими решениями. Преподаватель