• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
2026/2027

Разработка веб-сервисов на Golang

Статус: Маго-лего
Когда читается: 1, 2 модуль
Охват аудитории: для своего кампуса
Язык: русский
Кредиты: 6
Контактные часы: 56

Программа дисциплины

Аннотация

Данная дисциплина познакомит студентов с современными практиками разработки веб-сервисов на языке Go. Шаг за шагом обучающиеся смогут освоить синтаксис и особенности Golang, научатся работать с асинхронностью с помощью горутин и каналов, поймут основы сетевого взаимодействия и протокола HTTP. В рамках курса разби рается проектирование API и базовые принципы безопасности, изучается построение учебного сервиса, а затем студентам предстоит перейти к работе с базами данных, микросервисной архитектурой и мониторингом приложений. Особое внимание уделено практическим занятиям: разрабатывать сервисы, настраивать CI/CD, конфигурацию и мониторинг, учиться оптимизировать код и поддерживать приложение под нагрузкой. По итогам курса обучающиеся получат необходимые знания, умения и навыки, чтобы уверенно разрабатывать и запускать веб-приложения на Go, понимая весь цикл их жизни - от идеи до продакшена.
Цель освоения дисциплины

Цель освоения дисциплины

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

Планируемые результаты обучения

  • Знает синтаксис и модель конкурентного выполнения языка Go (горутины, каналы, контексты), принципы построения веб серверов на `net/http` и gRPC, основы микросервисной архитектуры, паттерны отказоустойчивого взаимодействия с внешними API, а также методы обеспечения наблюдаемости программ ных систем (логирование, метрики).
  • Умеет проектировать веб-приложения с чётким разделением слоев ответственности, применять паттерн Repository для абстракции доступа к СУБД, реализовывать middleware для аутентификации и ограничения трафика, конфигурировать сервисы, настраивать сбор метрик Prometheus, а также разрабатывать сценарии непрерывной интеграции и доставки (CI/CD) с контейнеризацией.
  • Имеет навыки написания и отладки конкурентного кода,профилирования производительности и выявления утечек памяти, модульного и интеграционного тестирования HTTP-сервисов, кодогенерации типовых компонентов, построения дашбордов мониторинга, а также проектирования архитектуры высоконагруженных сервисов и прохождения собеседований по системному дизайну.
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Раздел 1. Основы языка Go и конкурентное программирование
  • Раздел 2. Веб-сервер, проектирование API и компоненты веб-приложений
  • Раздел 3. Разработка веб-сервиса, работа с базами данных и микросервисная архитектура
  • Раздел 4. Мониторинг, логирование и автоматизация жизненного цикла.
  • Раздел 5. Углубленные темы и производительность.
Элементы контроля

Элементы контроля

  • неблокирующий SUM_7_ДЗ
    SUM_7_ДЗ - сумма баллов за домашние задания. Всего на курсе их 7.
  • неблокирующий SUM_2_РК
    SUM_2_РК- сумма баллов за Рубежный контроль Описание (может варьировать на усмотрение преподавателя): На выполнение теста отводится 90 минут. Тест состоит из 20 вопросов по всем пройденным темам. По каждой из тем обучающемуся выводится пять утверждений, среди которых он должен отметить верные. За каждую из тем обучающийся получает 1 балл при правильном выборе всех верных утверждений. Максимальное количество баллов –20.
  • блокирующий SUM_ЭКЗ
    Письменный экзамен проводится в форме ответов на вопросы экзаменационного билета. На подготовку ответа выделяется 2,5 часа. Экзамен состоит из нескольких задач разной стоимости. Каждая задача имеет вполне определенный ответ, который нужно выписать. Кроме ответа, нужно привести и его обоснование. Задача подразумевает довольно глубокое знакомство с теоретическим материалом.
Промежуточная аттестация

Промежуточная аттестация

  • 2026/2027 2nd module
    О_ИТОГ = SUM_7_ДЗ + SUM_2_РК+ SUM_ЭКЗ Суммарно за весь курс можно получить 100 баллов, которые переводятся в 10-ти балльную оценку ВШЭ следующим образом: 10 –от 95 до 100, 9 –от 85 до 94, 8 –от 80 до 84, 7 –от 65 до 79, 6 –от 60 до 64, 5 –от 45 до 59, 4 –от 40 до 44, 3 –от 25 до 39, 2–от 15 до 24, 1 –от 5 до 14, 0 –от 0 до 4.
Список литературы

Список литературы

Рекомендуемая основная литература

  • Язык программирования Go : пер. с англ., Донован, А. А. А., 2018

Рекомендуемая дополнительная литература

  • Базы данных : учебник и практикум для вузов, Нестеров, С. А., 2020

Авторы

  • Минченков Виктор Олегович
  • Нефедов Сергей Игоревич
  • Юнышева Анастасия Владимировна