Що нового?

Придбаний Мікросервіси, як у BigTech [Тариф без перевірки] [Олег Козирєв] [Повтор]

Інформація про покупку
Тип покупки: Складчина
Ціна: 22000 ГРН
Учасників: 0 з 40
Організатор: Відсутній
Статус: Набір учасників
Внесок: 572 ГРН
0%
Основний список
Резервний список

Gadzhi

Модератор
Мікросервіси, як у BigTech [Тариф "без перевірки"] [Олег Козирєв] [Повтор]


Навчися розробляти високопродуктивні, масштабовані мікросервіси, як в ВК Yandex Ozon Avito Ощад Тінькофф, і збільш свої шанси на працевлаштування в BigTech або підвищення грейду

Навчання підійде для Junior і Middle backend-розробників

Для курсу потрібно:

Знати основи Golang - всі практичні приклади будуть на ньому
Вміти користуватися git, щоб якісно працювати з кодовою базою

Курс адаптований під часті проблеми backend-a, з якими доводиться стикатися на роботі
На навчанні ти глибоко зануришся в мікросервіси
Нещадно кодуємо мікросервіси протягом 8 тижнів



Програма
Тиждень 1. Знайомство, протоколи http та gRPC

Що таке протокол http
Напишемо http-сервер
Що таке REST
Чим поганий json
Що таке protobuf
Чим поганий http 1.1
Що таке gRPC?
Пишемо перший proto-файл
Генеруємо proto-файл
Реалізуємо просту логіку ручок
Піднімемо gRPC-сервер зі своїм API
Реалізуємо gRPC-клієнт

Результат: створіть дві робочі мікросервіси з серверами gRPC всередині, які підтримують базовий API

Тиждень 2. Deploy сервісу в хмару і робота з PostgreSQL

Реєструємося в 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. Архітектура проекту

Що таке шари і навіщо вони потрібні
Пишемо repo-шар
Пишемо сервісний шар
Пишемо моделі і конвертори
Пишемо ініціалізацію всіх залежностей
Що таке DI контейнер
Пишемо свій di контейнер
Недолік роботи з pgx безпосередньо
Пишемо свою обгортку над клієнтом до БД
Що таке транзакції
Недолік роботи з транзакціями через pgx
Пишемо свій transaction manager
Вбудовуємо transaction manager в свою обгортку над клієнтом до БД

Результат: навчишся рефакторингу і зробиш зручну, розширювану і гнучку

Тиждень 4. Тестування сервісу і створення своєї платформної бібліотеки

Навіщо потрібні тести
Які види тестів бувають
Пишемо юніт-тести для простого коду
Пишемо юніт-тести для коду з моками залежностей
Що таке бібліотека платформи
Створюємо свою платформну бібліотеку

Результат: покриєш функціонал своїх сервісів unit-тестами і створиш власну платформну бібліотеку, що складається із загальних компонентів твоїх проектів

Тиждень 5. Додаткові опції екосистеми gRPC

У чому проблема gRPC
Що таке grpc-gateway
Описуємо опції gateway в proto-файлі
Генеруємо proto-файл з gateway
Піднімаємо http-сервер для роботи з gateway
Що таке proto-валідація
Описуємо опції валідації в proto-файлі
Генеруємо proto-файл з валідацією
Застосовуємо згенеровану валідацію
Що таке інтерцептор?
Пишемо валідаційний інтерцептор
Що таке swagger
Генеруємо proto-файл зі swagger і використовуємо результат в Postman
Що таке CORS
Піднімаємо окремий swagger-сервер

Результат: в одному з сервісів піднімеш свій gRPC-Gateway, який дозволить обробляти HTTP-трафік

Тиждень 6. Безпека мережевих взаємодій між серверами

Що таке TLS
Генеруємо сертифікати
Підключаємо сертифікати на сервері
Підключаємо сертифікати на клієнті
Що таке JWT
Описуємо контракти аутентифікаційного API
Пишемо генерацію access токена
Пишемо генерацію refresh токена
Пишемо перевірку валідності токена
Вчимося передавати і приймати токен через контекст
Пишемо серверний і клієнтський інтерцептори для роботи з токеном

Результат

Забезпечиш транспортну безпеку взаємодії твоїх сервісів один з одним
Створиш систему аутентифікації та авторизації для своїх проектів засобами JWT

Тиждень 7. Моніторинг системи

Що таке логи
Zap-логгер
Пишемо обгортку над Zap-логгером
Що таке метрики
Розгортаємо prometheus в Docker-compose
Піднімаємо сервер для метрик і організуємо їх збір
Дивимося метрики і інтерпретуємо їх на прикладі RPS
Що таке Grafana
Розгортаємо Grafana в Docker-compose
Імпортуємо метрики з prometheus в Grafana
Що таке трейсинг
Розгортаємо Jaeger в Docker сомроѕе
Організуємо збір трейсів

Результат: на прикладі одного з сервісів додаси грамотне логгування про різні події, метрики, що сигналізують про важливі показники системи, а також організуєш збір трейсів

Тиждень 8. Патерни відмовостійкості Додатки і потокова обробка даних

Що таке 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: Логістикаѕепіог Engineer
розробляв сервіси організації перевезень товарів продавця на склад

Ozon Tech: Моментиѕепіог Engineer
розробляв систему модерації "рилсів" всередині програми Ozon

Ozon Tech: МаркетплейсЅепіог Engineer
розробляв сервіс, який відстежує своєчасність доставки посилок

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

Yatalksведучий конференції
вів другий день конференції з програмування від Яндекса

Тариф "без перевірки"

18 практичних уроків
Безстроковий запис курсу
Домашні завдання після лекцій
Дипломний проект
Q & A-сесії і live-розбори домашек
Доп. модуль від HR-спеціаліста
Дод. модуль по торгу за зарплату

Орієнтовна вартість: 44900 ₽

https://olezhek28.courses/
 
Угорі