практикум

Golang Basics

Познакомьтесь с популярным языком программирования и станьте разработчиком на Go в российских или международных проектах

темы, которые вы освоите

Gomock
Unit testing
Go benchmarks
Git
Golang pprof
Go modules
CGO
Docker
Consul
gRPC
REST
90% практики
Онлайн-практикум для освоения Golang (Go) для начинающих
30+ заданий
Выполните все задания и станьте разработчиком на Go
асинхронный формат
Стройте свой график и проходите задания в удобное время
Rebrain
— большое сообщество IT-специалистов, создаём
практикумы по инфраструктуре с 2018 года
Почему выбирают наши программы
  • Автоматические проверки — мгновенная обратная связь по заданиям
  • Проверки менторами — DevOps-инжерами с опытом в индустрии от 5+ лет
  • Возможность общаться с опытными практикующими специалистами
  • Свободный темп — проходите без жёстких дедлайнов
  • Прикладные задачи — кейсы, приближенные к реальной работе DevOps-инженера
phone

Кому подойдёт

Backend-разработчикам (Junior/Middle)

которые работают с языками Python, PHP, Java, C# и желают изучить Go для создания высокопроизводительных приложений

Начинающим разработчикам

с базовыми знаниями в программировании, которые хотят войти в IT через изучение современного и востребованного языка

DevOps-инженерам

которые хотят писать собственные инструменты и утилиты для автоматизации на Go

Как проходит
практикум

Команда Rebrain изучает, какие из компетенций требуются на разных уровнях профессий.

программа практикума

Онбординг

  • Введение

Введение. Подготовка окружения

  • Введение. Подготовка окружения

Основы языка

  • Переменные. Типы данных
  • Указатели в Go
  • Слайсы
  • Map-ы в Go
  • Конструкции языка и функции
  • defer — обработка выхода из функции
  • Panic и их обработка
  • Обработка ошибок

Модули и пакеты

  • Области видимости, инициализация через init()
  • Работа с зависимостями, go mod
  • Создание модулей и их версионирование
  • layout проекта (структура проекта)

Структуры и интерфейсы

  • Структуры в GO
  • Методы структур
  • Интерфейсы и утиная типизация
  • Пустой интерфейс
  • Композитное наследование
  • Продвинутая работа с ошибками

Асинхронность

  • Goroutines
  • Go Scheduler
  • Race condition
  • Пакеты sync и atomic
  • Каналы ч.1. Deadlocks.
  • Каналы ч.2. Context.
  • sync.Pool*
  • Пакет errgroup*

Тестирование бенчмарки и профилирование

  • Unit-тестирование в Go
  • Моки, стабы и генерация через GoMock
  • Table driven test vs closure driven tests*
  • Test coverage
  • Benchmarks
  • Профилирование с pprof

Кодогенерация

  • Рефлексия
  • AST
  • Templates
  • Решение проблем рефлексии
  • Враппинг

Финальный проект

  • Финальный проект
  • Подведение итогов

Онбординг

  • Введение

Работа с БД

  • Конфигурирование подключения к БД (Postgres)
  • Работа с БД (Postgres)
  • Миграции (Goose)
  • Работа с базой на примере использования GORM
  • Нереляционная база данных MongoDB*

Сервер на Go (обработка запросов context middleware)

  • Поднимаем сервер, роутинг, первый handler
  • Работа с параметрами
  • Роутер Gorilla
  • Роутер Chi*
  • Middleware
  • Контекст запроса
  • FastHTTP*
  • WebSockets*

Низкоуровневость + продвинутая сборка

  • Продвинутая работа с модулями
  • Сборка с использованием Idflags
  • Сборка для разных ОС
  • Пакет unsafe
  • Cgo

Микросервисная архитектура

  • Docker-образ для сервиса
  • Продвинутая сборка образа
  • Конфигурация приложения

Межсервисное взаимодействие

  • Синхронное HTTP-взаимодействие и Swagger
  • Фреймворк gRPC
  • gRPC Streams, interceptors
  • Асинхронное взаимодействие и Kafka
  • Работа с GraphQL в Go*

Оптимизация

  • in-memory хранение
  • Redis
  • Алгоритм кеширования LRU

Работа сервиса в кластере

  • Формат логов и уровни логирования
  • Логи в Graylog
  • Сквозное логирование
  • Метрики приложения
  • Graceful shutdown
  • Healthcheck

Финальное задание

  • Финальное задание
  • Подведение итогов
Эксперт практикума
Дмитрий Гордеев
Дмитрий Гордеев
  • Дорос от техподдержки до TeamLead Go-разработки в МТС Банке, затем в x5 Tech
  • Сейчас занимается разработкой нового Cloud'а в x5 Tech
  • Опыт разработки – 5 лет
Руководитель практикума Golang by REBRAIN
Алексей Панфилов
Алексей Панфилов
  • Пришёл в го из питона 2 года назад
  • Всё это время работаю со сложными распределёнными проектами с асинхронными взаимодействиями
  • Переводил микросервисы в java на go
Ведущий golang разработчик
Михаил Кочкин
Инженер ПО в команде Developer Experience, VK

Ключевые навыки для резюме:

Работа с Git
Написание приложений на Golang
Профилирование приложения на GO
Unit-тестирование и моки
Написание бенчмарков и оптимизация
Кодогенерация
Навык работы с многопоточностью в Go
0
Остались вопросы?
Приходите на бесплатную консультацию с экспертом.

практикум

Golang Basics

В стоимость входит:

  • Выполнение задач на настоящей инфраструктуре
  • Сопровождение — менторы, координатор
  • Бессрочный доступ к теоретической части практикума
стоимость
Cohort-01
5 417 руб.

в месяц или сразу 65 000 руб.

Перейти к оплате >>>
Cohort-01 Basics+Advanced
9 167 руб.

в месяц или сразу 110 000 руб.

Перейти к оплате >>>
0

Файлы куки

При использовании данного сайта, вы подтверждаете свое согласие на использование файлов cookie и других похожих технологий в соответствии с настоящим Уведомлением.