Скачать 

Микросервисы, как в BigTech [Олег Козырев]

Цена: 225 РУБ
Организатор: Renata
Список участников складчины:
  • 1. fraumarta
  • 2. Almazik
Renata
Renata
Организатор
  • #1

Микросервисы, как в BigTech [Олег Козырев]

Ссылка на картинку
Научись разрабатывать высокопроизводительные, масштабируемые микросервисы, как в ВК Yandex OZON Avito СБЕР Тинькофф, и увеличь свои шансы на трудоустройство в BigTech или повышения грейда

Обучение подойдет для Junior и Middle backend-разработчиков/ Для курса нужно:
  • Знать основы Golang - все практические примеры будут на нем
  • Уметь пользоваться git, чтобы качественно работать с кодовой базой
Курс адаптирован под частые проблемы backend-a, с которыми приходится сталкиваться на работе


На обучении ты глубоко погрузишься в микросервисы

ПРОГРАММА.Беспощадно кодим микросервисы на протяжении 8 недель

Cодержание
  • Что такое протокол http
  • Напишем http-сервер
  • Что такое REST
  • Чем плох json
  • Что такое protobuf
  • Чем плох http 1.1
  • Что такое gRPC?
  • Пишем первый proto-файл
  • Генерируем proto-файл
  • Реализуем простую логику ручек
  • Поднимем gRPC-сервер со своим API
  • Реализуем gRPC-клиент


Результат
  • Создашь два рабочих микросервиса с gRPC-серверами внутри, которые поддерживают базовый API
Неделя 2. Cодержание
  • Регистрируемся в Selectel и покупаем свой сервер
  • Собираем приложение и запускаем его на сервере
  • Что такое Docker
  • Разберемся, в чём суть контейнеризации, какая разница между ней и виртуализацией
  • Пишем Docker файл для приложения и собираем его
  • Создаем registry для docker образов в Selectel и загружаем наш образ
  • Устанавливаем docker на наш сервер
  • Запускаем приложение из нашего образа
  • Что такое GitHub Actions
  • Пишем actions для деплоя и запуска нашего приложения
  • Что такое config и почему их бывает несколько
  • Пишем config’и для разных сред
  • Пишем обработчик config’а
  • Что такое Postgres
  • Запуск Postgres в Docker Compose
  • Что такое миграции
  • Пишем миграции и накатываем их с помощью утилиты goose
  • Простые запросы в Postgres с помощью pgx
  • Пишем запросы с помощью билдера squirrel
  • Заворачиваем накатку миграций в отдельный Docker контейнер


Результат
  • Разработаешь базовую бизнес-логику созданных ранее API с использованием базы данных PostgreSQL

Неделя3. Cодержание
  • Что такое слои и зачем они нужны
  • Пишем repo-слой
  • Пишем сервисный слой
  • Пишем модели и конверторы
  • Пишем инициализацию всех зависимостей
  • Что такое DI контейнер
  • Пишем свой DI контейнер
  • Недостаток работы с pgx напрямую
  • Пишем свою обертку над клиентом к БД
  • Что такое транзакции
  • Недостаток работы с транзакциями через pgx
  • Пишем свой transaction manager
  • Встраиваем transaction manager в свою обертку над клиентом к БД


Результат
  • Научишься рефакторингу и сделаешь удобную, расширяемую и гибкую

Неделя 4.
Cодержание
  • Зачем нужны тесты
  • Какие виды тестов бывают
  • Пишем юнит-тесты для простого кода
  • Пишем юнит-тесты для кода с моками зависимостей
  • Что такое платформенная библиотека
  • Создаем свою платформенную библиотеку


Результат
  • Покроешь функционал своих сервисов unit-тестами и создашь собственную платформенную библиотеку, состоящую из общих компонентов твоих проектов

Неделя 5.
Cодержание
  • В чем проблема gRPC
  • Что такое grpc-gateway
  • Описываем опции gateway в proto-файле
  • Генерируем proto-файл с gateway
  • Поднимаем http-сервер для работы с gateway
  • Что такое proto-валидация
  • Описываем опции валидации в proto-файле
  • Генерируем proto-файл с валидацией
  • Применяем сгенерированную валидацию
  • Что такое интерцептор?
  • Пишем валидационный интерцептор
  • Что такое swagger
  • Генерируем proto-файл со swagger и используем результат в Postman
  • Что такое CORS
  • Поднимаем отдельный swagger-сервер


Результат
  • В одном из сервисов поднимешь свой gRPC-Gateway, который позволит обрабатывать http-трафик
Неделя 6.
Cодержание
  • Что такое TLS
  • Генерируем сертификаты
  • Подключаем сертификаты на сервере
  • Подключаем сертификаты на клиенте
  • Что такое JWT
  • Описываем контракты аутентификационного API
  • Пишем генерацию access токена
  • Пишем генерацию refresh токена
  • Пишем проверку валидности токена
  • Учимся передавать и принимать токен через контекст
  • Пишем серверный и клиентский интерцепторы для работы с токеном


Результат
  • Обеспечишь транспортную безопасность взаимодействию твоих сервисов друг с другом
  • Создашь систему аутентификации и авторизации для своих проектов средствами JWT

Неделя 7.
Cодержание
  • Что такое логи
  • Zap-логгер
  • Пишем обертку над zap-логгером
  • Что такое метрики
  • Разворачиваем prometheus в Docker-compose
  • Поднимаем сервер для метрик и организуем их сбор
  • Смотрим метрики и интерпретируем их на примере RPS
  • Что такое Grafana
  • Разворачиваем Grafana в Docker-compose
  • Импортируем метрики из prometheus в Grafana
  • Что такое трейсинг
  • Разворачиваем Jaeger в Docker сompose
  • Организуем сбор трейсов


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



Неделя 8.
Cодержание
  • Что такое timeout
  • Применяем timeout через контекст
  • Что такое Rate Limiter
  • Пишем свой Rate Limiter
  • Что такое Circuit Breaker
  • Подключаем готовую реализацию Curcuit Breaker
  • Система ошибок в gRPC
  • Обсуждаем дизайн системы ошибок для бизнес логики
  • Пишем реализацию валидатора бизнес логики
  • Пишем обработчик ошибок
  • Пишем интерцептор для конвертации бизнес ошибок в транспортные
  • Что такое стриминговые ручки в gRPC
  • Добавляем стриминговую ручку в API
  • Что такое cli-утилита
  • Пишем свою cli-утилиту для связи с сервером


Результат
  • Умеешь применять паттерны отказоустойчивости и работать со стриминговыми ручками в gRPC. Кроме этого, ты разработаешь свою cli-утилиту в качестве чат-клиента

А потом бесплатно учимся хорошо устраиваться в BigTech

Бонус №1 Составишь резюме, после которого приглашают на собеседование.
  • Как на самом деле правильно составлять резюме?
  • Какие главные ошибки айтишников при поиске работы?
  • Красные флаги в резюме, которые не любят рекрутеры

Бонус №2 Научишься при трудоустройстве поднимать оффер на 30 000−70 000 рублей. Максим Фатин. Эксперт по ведению переговоров, Senior Developer
  • Стоит ли говорить рекрутеру ожидания по зарплате?
  • Как тимлид может влиять на твой оффер?
  • Механики и лайфхаки – как поднять финальный оффер?
Бонус №3. Лучшему студенту потока — 3 бесплатные консультации со старшим разработчиком Авито
Олег Козырев Преподаватель, Senior Engineer в Avito Tech. Поболтаем за жизнь, о работе, решим карьерные трудности или глубже разберем темы с курса 1 на 1. А еще можем провести mock-собеседование — погоняю тебя по позиции, на которую хочешь устроиться, и поделюсь фишками прохождения реального собеса


Преподаватель — Олег Козырев

AvitoSenior Engineer
разрабатываю BaaS-платформу (Backoffice as a Service)

Ozon Tech: ЛогистикаSenior Engineer
разрабатывал сервисы организации перевозок товаров продавца на склад

Ozon Tech: МоментыSenior Engineer
разрабатывал систему модерации «рилсов» внутри приложения Ozon

Ozon Tech: МаркетплейсSenior Engineer
разрабатывал сервис, который отслеживает своевременность доставки посылок

Route 256Ex-преподаватель и тьютор
менторил и преподавал курсы по построению микросервисов в школе Ozon Tech

YaTalksВедущий конференции
вел второй день конференции по программированию от Яндекса

Тариф Бес Проверки
  • 18 практических уроков
  • Бессрочная запись курса
  • Домашние задания после лекций
  • Дипломный проект
  • Q&A-сессии и live-разборы домашек
  • Доп.модуль от HR-специалиста
  • Доп.модуль по торгу за зарплату
 
Зарегистрируйтесь , чтобы посмотреть скрытый авторский контент.
Похожие складчины
  • в разделе: Администрирование
  • в разделе: Администрирование
  • в разделе: Администрирование
  • в разделе: Администрирование

Войдите или зарегистрируйтесь, чтобы комментировать и скачивать складчины!

Учетная запись позволит вам участвовать в складчинах и оставлять комментарии

Регистрация

Создайте аккаунт на форуме. Это не сложно!

Вход

Вы уже зарегистрированы? Войдите.

Сверху