Повышение навыков разработки на Go. Сборка полноценного сервиса для портфолио.
видеокурс
Golang-разработчик
старт в любой момент
Научитесь создавать реальные проекты, используя актуальные подходы разработки на Go
80% практики
52 часа практики
Полноценный проект
онлайн-банк, мессенджер, файловое хранилище или свой
Бесплатное начало
Начните с демо — 3 дня бесплатного доступа
Формат обучения
Видеоуроки и практические задания
13 часов теории
Начни учиться бесплатно
Познакомьтесь с материалами и спикерами курса. Демо-курс доступен 3 дня.
Кому подойдёт курс?
Начинающим разработчикам на Go
  • Повысите навыки разработки и поддержки сервисов
Бэкенд-разработчики
Разработчики на других языках
  • Изучите основу разработки на Golang
Фулстек-разработчики и DevOps-инженеры
  • Внедрите в работу решения по Golang
  • Изучите Golang для перехода в профессию
  • Разберётесь в тонкостях языка и научитесь строить приложения на Golang
  • Разнообразите стек разработки
  • Расширите возможности в разработке инфраструктуры
  • Систематизируете знания о Golang
  • Узнаете больше об инструментах разработки
  • Соберёте рабочий проект для портфолио
  • Попрактикуетесь на максимально приближенных к работе кейсах
  • Научитесь эффективно применять язык Golang
Курс поможет разобраться
Как сделать так, чтобы проект работал и обслуживал пользовательские запросы даже при деградации части подсистем?
Какие паттерны взаимодействия применить, чтобы сделать простую и надёжную систему?
Как не допустить утечек памяти в нагруженном приложении?
Как избежать проблем при работе с БД?
Как выдерживать растущие нагрузки без покупки или аренды дополнительного оборудования?
Понадобятся знания:
  • Понимание работы с Базами данных и очередями
Будет большим плюсом:
  • Опыт работы с Docker
  • Базовое умение работы в консоли
  • Опыт коммерческой разработки от года
  • Опыт работы с Linux
  • Опыт написания конкурентного/многопоточного кода
Аргументированно выбирать асинхронный подход, чтобы снизить связность системы и повысить общую надёжность
После курса вы сможете
Уверенно писать на Golang и разрабатывать серверные и клиентские приложения
Эффективно использовать сеть для взаимодействия между сервисами и проектировать функциональность исходя из доменной области
Работать и синхронизировать goroutine и проводить оптимизацию под работу в нагруженных приложениях
Эффективно и без неожиданностей распиливать монолит на микросервисы и использовать линтеры, чтобы избежать ошибок
Понимать устройство observability больших систем
Гарантировать качество работы сервиса с помощью юнит- и интеграционных тестов
Главное практика
53 часа практики и сборки собственного полноценного сервиса
В каждом модуле — по три практических задания, от простого к сложному. Внимательно читайте условия и ловушки, которые встречаются в процессе работы.
На курсе вы создадите один проект на выбор
C авторизацией, процессингом платежей и хранением счётов. Вы создадите отказоустойчивую систему с возможностью выдерживать отказы сервисов
Если у вас есть готовая идея, уточните у спикера, как реализовать её в рамках нашего курса
C подпиской на события. Можно использовать minio с s3 совместимым протоколом. Разработаете подписку на события добавления/изменения файлов с учётом работы с миллиардами небольших файлов. Реализуете контроль доступа и версионирование версий файлов
C авторизацией, сервисом обработки сообщений и подсистемой доставки обновлений до клиентов. Вы выберете способ хранения данных. Учтёте всплески нагрузки при переподключении клиентов и возможность доставлять сообщения офлайн
Онлайн-банк
Свой проект
Файловое хранилище
Мессенджер
Бесплатная консультация по курсу «Golang-разработчик»
Вся учеба в одном месте!
В личном кабинете доступны все купленные курсы, виден прогресс обучения и полученные сертификаты. У каждого курса есть дневник с уведомлениями от команды Слёрма и кураторов. Подробные инструкции помогут вам эффективно учиться и сохранять мотивацию
Программа
  • Изучение программы курса и формата обучения
  • Информация о спикере
  • Результат прохождения курса
  • Как собирать и запускать программы в Go
  • Тестовые задания для закрепления материала
  • Значимые отличия Go от других языков программирования
  • Из чего состоит программа на Go
  • Модули, пакеты, концепция указателей и методов
  • Структуры, массивы, слайсы
  • Maps, строки и руны
  • Типичные ошибки с slices/maps/etc
  • 5 практических заданий и бонусная задача для закрепления материала
  • Горутины и каналы
  • Оператор select и пакет sync
  • Паттерны конкурентной области
  • Типичные ошибки с горутинами
  • 5 практических заданий и бонусная задача для закрепления материала
  • Интерфейсы и работа с ошибками
  • Error wrapping и пакет multierror
  • Panic / recover
  • Типичные ошибки при работе с errors/interfaces/panic
  • 4 практических задания для закрепления материала
  • Тестирование в Golang
  • Интеграционные тесты
  • Fuzzy тестирование
  • Библиотеки gomock, testify
  • Ловушки при написании тестов и советы
  • Практическое задание по написанию тестов
  • Пакет context
  • Основные концепции языка Go – что дальше?
  • Практическое задание
  • Ошибки/проблемы при работе с context
  • Подготовка основы для проекта
  • Конфигурация и логирование
  • Профилирование и оптимизация
  • Рекомендации по созданию проекта
  • 3 практических задания для закрепления материала
  • Выбор тематики для проекта
  • Кодогенерация в контексте Golang
  • Потенциальные проблемы и ошибки при работе с HTTP
  • Проблема с таймаутами сервера
  • Знакомство с rider-service
  • Работа в Golang с базами данных
  • Подключение базы данных к собственному проекту
  • Практическое задание
  • Подходы к разделению сервисов
  • Боремся со сложностями выезда из монолита
  • Антипаттерны работы в микросервисной среде
  • Что такое GRPC и как он применяется в реальных проектах
  • Асинхронная архитектура
  • Паттерны развертывания архитектуры
  • Брокеры сообщений в реальном проекте
  • Практическое задание
  • Совместимость контрактов
  • Сборка образа/сборка бинарника
  • Канарейки и отказоустройчивость stateless
  • Feature toggless
  • Rollback
  • Канареечный деплой
  • Постепенное замещение реплик сервиса новой версией
Observability:
  • Что такое Observability?
  • Зачем нужна наблюдаемость системы?
  • Способы сбора метрик
  • Устройство Prometheus
  • Структурированное логирование
  • Подключение метрик и логов в собственный проект
Tracing:
  • Что такое трассировки? Где и когда используются?
  • OpenTelemetry
  • Spans
  • Sampling
  • Внедрение Tracing в свой проект
Практическое задание
  • Пирамида тестирования
  • Нагрузочные тесты: виды, анализ результатов, корректность
  • При чем тут SRE
  • Инструменты выполнения тестов
  • Типичные ошибки при проведении тестов
  • Постоянное нагрузочное тестирование
Cвидетельство
Именное свидетельство о прохождении курса получает студент, если:
  • изучил 80% курса
  • принимал участие в решении практик, которые входят в курс.
Отзывы
Этот курс может оплатить ваша компания
Если вы считаете, что знания, полученные на курсе, могут быть полезными на вашем текущем месте работы, оставляйте заявку с контактами компании в форме ниже или обсудите покупку курса с вашим руководителем. Как это организовать, что говорить и куда идти — написали здесь.
Как купить курс
Комплектом выгоднее