1. Введение в синтаксис protobuf и экосистему gRPC
- Protobuf
- gRPC
- Protoc
- Vendoring
- Postman / Evans
- Reflection
- CodeGeneration
- Buf.gen
- Env config
- Makefile
- PostgreSQL
- Docker
Бонус: реализуешь свой первый gRPC сервер, gRPC клиент и организуешь общение между ними.
2. Архитектурные вопросы построения проекта
- Clean code
- Clean architecture
- Patterns: DI, Adaptor, MVC
3. Дополнительные опции экосистемы gRPC
- gRPC Gateway
- Protogen-Validate
- Swagger
- Type of fields: oneof и fieldMask
- Goroutines
- http
4. Безопасность в gRPC
- TLS
- Authentication / authorization
- JWT
- Interceptors
- Public key / private key
- Security certificate
Результат: умеешь обеспечивать безопасность на транспортном уровне средствами TLS, знаешь, как разработать аутентификацию и авторизацию пользователей на уровне топовых IT-компаний.
5. Паттерны и полезные практики в gRPC
- Timeout
- Retry
- Circuit breaker
- Load balancing
- Система обработки ошибок в gRPC
6. Потоковая передача данных и тестирование сервиса
- gRPC Stream
- Unit tests
- Minimock
- Table tests
Результат: применишь стриминговые endpoint’ы в gRPC и реализуешь с их помощью консольный чат. Умеешь тестировать микросервисы с помощью gRPC и покрывать сервер тестами с применением mock-объектов. Реализуешь готовый проект, использующий богатый набор функций gRPC, который легко сможешь взять себе в портфолио для трудоустройства в BigTech-компанию.