Магистратура
2026/2027




Разработка веб-сервисов на Golang
Статус:
Курс обязательный (Аппаратно-программные комплексы искусственного интеллекта)
Кто читает:
Департамент электронной инженерии
Когда читается:
2-й курс, 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.