2022/2023




GO
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Лучший по критерию «Новизна полученных знаний»
Статус:
Маго-лего
Когда читается:
2, 3 модуль
Охват аудитории:
для своего кампуса
Преподаватели:
Горшков Сергей Сергеевич
Язык:
русский
Кредиты:
6
Контактные часы:
26
Программа дисциплины
Аннотация
Первый курс из блока дисциплин, обучающих построению высоконагруженных систем. В рамках курса вы изучите основы синтаксиса и приложения языка для написания сервисов машинного обучения.
Цель освоения дисциплины
- Знать синтаксис языка Go и основные библиотеки
- Понимать реализацию многопоточного и асинхронного программирования в Go
- Иметь представление о микросервисной и монолитной архитектуре, gRPC
- Уметь работать с соединениями в сети Интернет и базами данных с помощью языка программирования Go
Планируемые результаты обучения
- Решает алгоритмические задачи с помощью языка Go
- Применяет на практике выделение в коде программы на Go структур данных, отличает подход Go от объектно-ориентированного подхода в других языках
- Формулирует основные принципы реализации горутин и кейсы их использования на практике
- Оценивает производительность отдельных участков программы, тестирует их
- Иллюстрирует навыки владения языком SQL и реализует взаимодействие с базами данных в интерфейсе языка Go
- Аргументирует выбор различных подходов к построению архитектуры веб-приложений
Содержание учебной дисциплины
- Введение в Go
- Подпрограммы на Go
- Структуры в Go
- Горутины
- Многопоточность в Go
- Синхронизация в Go
- Оценка качества работы программы на Go
- Взаимодействие с внешними сервисами в Go
- Практика написания приложения на Go
- Базы данных
- Менеджеры пакетов
- Архитектура приложений, написанных на Go
- Обеспечение работы жизненного цикла приложения
Промежуточная аттестация
- 2022/2023 учебный год 3 модульМАКС(ДЗ + БОНУС, 10), где ДЗ – средняя оценка за домашние задания
Список литературы
Рекомендуемая основная литература
- Nadareishvili, I., Mitra, R., McLarty, M., & Amundsen, M. (2016). Microservice Architecture : Aligning Principles, Practices, and Culture: Vol. First edition. O’Reilly Media.
- Базы данных. Теория и практика : учебник, Советов Б.Я., Цехановский В.В., 2007
- Кочер, П. С. Микросервисы и контейнеры Docker : руководство / П. С. Кочер , перевод с английского А. Н. Киселева. — Москва : ДМК Пресс, 2019. — 240 с. — ISBN 978-5-97060-739-8. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/123710 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Основы многопоточного, параллельного и распределенного программирования, Эндрюс, Г. Р., 2003
Рекомендуемая дополнительная литература
- Курячий, Г. В. Операционная система Linux : учебник / Г. В. Курячий, К. А. Маслинский. — 2-е изд. — Москва : ИНТУИТ, 2016. — 450 с. — ISBN 5-9556-0029-9. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100278 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.