для преподавателя
C# ASP.NET Core разработчик
otus.ru
Проверить, идет ли запись
Меня хорошо видно
&& слышно?
Преподаватель
Родион Мостовой
Преподаватель ASP.NET Core
Об опыте:
10 лет разработки, из них 5 лет с использованием ASP.NET Core
Руководил разработкой в сервисе доставки продуктов “Доставка от Гудвина”
GitHub: https://github.com/rodion-m
Telegram: @rodion_m_tg
Активно участвуем и включаем камеры
Задаем вопрос голосом или в чат
Off-topic обсуждаем в Telegram
Вопросы в чате вижу, могу ответить не сразу
5
Правила вебинара
Пишем свой API: gRPC
М2: Разворачивание приложения в облаке
М4: Микросервисная архитектура
М6: Работа с API
М1: Введение в ASP.NET Core и WebApi
М3: Прокачиваем проект
М5: Frontend-технологии
М7: Проектная работа
1.7 Юнит тестирование
1.6 Middleware
1.5 Entity Framework Core
1.4 DI контейнеры
1.3 Конфигурирование � приложения
1.2 Знакомимся с ASP.NET Core
1.1 Вводное занятие в курс
3.8 Ретро и планирование
3.7 Тестирование
3.6 Кеширование
3.5 Способы валидации данных
3.4 Логгирование
3.3 Identity Server 4
3.2 Разграничение прав доступа
3.1 Модель авториз./ аутентиф.
5.8 Ретро и планирование
5.7 Как подружить � React.JS с Asp.net Core
5.6 React хуки и библиотеки
5.5 React Router & Redux
5.4 React
5.3 Введение в React
5.2 Современный фронтенд
5.1 Blazor
7.2 Защита проектных работ
7.1 Консультация по проектам, дз
2.1 Способы размещения � приложения, Kestrel, IIS
2.2 Введение в docker, обзор � docker compose
2.3 Kubernetes
2.4 Разворачивание ASP.NET � Core приложения в облаке
2.5 CI/CD
2.6 Ретро и планирование
4.1 Монолиты и микросервисы
4.2 Работа с данными
4.3 Как превратить монолит в � микросервисы
4.4 Работа с данными: Архитектура
4.5 Работа с данными: рел. БД
4.6 Брокеры сообщений и � работа с RabbitMQ
4.7 Создание шаблона
4.8 Ретро и планирование
6.1 Пишем свой API: OData
6.2 Пишем свой API: GraphQL
6.3 Пишем свой API: gRPC
6.4 Пишем свой API: � SignalR Core
6.5 Как защититься от � хакерских атак
6.6 Рефакторинг старого � кода
Цели вебинара
После занятия вы сможете:
1. | Определить что такое технология gRPC |
2. | Определить особенности gRPC и его применение в ASP.NET Core приложениях |
3. | Создавать API сервисы на базе gRPC |
План полета
Что такое gRPC
Сравнение с REST и WCF
Protocol Buffers
Особенности gRPC
и работа с браузером
Рефлексия
Какая главная особенность у контроллеров?
Неожиданный вопрос
Какая главная особенность у контроллеров?
Они должны быть тонкими (содержать минимум кода).
А почему?
Неожиданный вопрос
Какая главная особенность у контроллеров?
Они должны быть тонкими (содержать минимум кода).
А почему?
Полезный бонус: Ответ узнаем на этом занятии.
Неожиданный вопрос
Различные архитектурные стили API
Четыре основных стиля API
в порядке их появления
gRPC
gRPC
gRPC - RPC фреймворк, не зависящий от платформ и языка использования
Что такое gRPC
gRPC в .NET
gRPC for C# (Grpc.Core)
https://github.com/grpc/grpc/tree/master/src/csharp
gRPC for .NET
https://github.com/grpc/grpc-dotnet
Примеры проектов на gRPC для .NET
Множество готовых примеров доступно по ссылке, в т. ч. примеры со стримингом
LIVE
gRPC
Преимущества gRPC:
Кроссплатформенность и кодогенерация
Зачем нам нужен gRPC
gRPC vs WCF
gRPC
WCF
gRPC vs REST
gRPC
REST
gRPC vs REST
А что не так с REST?
gRPC vs REST
Что предлагает gRPC?
Что нам дает HTTP/2
Основные цели разработки HTTP/2:
Отличие между протоколами HTTP 1.1 и HTTP/2
Protocol Buffers (protobuf)
Protocol Buffers — протокол сериализации (передачи) структурированных данных, предложенный Google как эффективная бинарная альтернатива текстовому формату XML
Protocol Buffers (protobuf)
Отладка protobuf: https://www.protobufpal.com/
Protobuf контракты
Пример protobuf-контракты
Доки: https://developers.google.com/protocol-buffers/docs/proto3
gRPC в .NET
gRPC for C# (Grpc.Core)
https://github.com/grpc/grpc/tree/master/src/csharp
gRPC for .NET
https://github.com/grpc/grpc-dotnet
gRPC for .NET
Виды вызовов
Виды вызывод gRPC:
Примеры проектов на gRPC
Множество готовых примеров доступно по ссылке, в т. ч. примеры со стримингом
Инструментарий
BloomRPC / Insomnia / Postman
Инструментарий
Список материалов для изучения
Выводы и рефлексия
Тезисы
1. | |
2. | |
3. | |
Цели вебинара
Проверка достижения целей
1. | Определили что такое технология gRPC |
2. | Определили особенности gRPC и его применение в ASP.NET Core приложениях |
3. | Рассмотрели как создавать API сервисы на базе gRPC |
Рефлексия
По какому вопросу захотелось глубже изучить информацию?
Понимаете ли вы, как применять на практике то, что узнали на вебинаре. Если да, то как?
Заполните, пожалуйста, опрос
Спасибо за внимание!
Приходите на следующие вебинары