Язык программирования Go (2022)

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск

О курсе

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

Занятия проводятся в Zoom по понедельникам в 19:00

Контакты

Канал курса в TG: channel link

Чат курса в TG: chat link

Преподаватель: Горшков Сергей Сергеевич

Ассистент Контакты
Игорь Балюк @lodthe
Адиль @kussyadil

Материалы курса

Ссылка на плейлист курса на YouTube: YouTube playlist

Ссылка на GitHub с материалами курса: GitHub repository

Занятие Тема Дата Материалы для самоподготовки к семинарам Дополнительные материалы
1 [Запись] Установка языка. Основы синтаксиса, основные типы данных. Работа со стандартным I/O 07.11.22
2 [Запись] Функции. Указатели. Написание тестов 14.11.22
3 [Запись] Аналог ООП в Go. Структуры и методы, интерфейсы 21.11.22
4 [Запись] Горутины и каналы в Go. Экскурс в мультиплексирование и pipe в Linux 28.11.22
5 [Запись] Синхронизация, пул воркеров, состояние гонки. Экскурс в проблемы многопоточного программирования 05.12.22
6 [Запись] Примитивы синхронизации. Атомики и мьютексы в Go. Пакет context, таймеры и таймауты 12.12.22
7 [Запись] Работа с json и динамическими данными. Бенчмарки и тестирование 19.12.22
8 [Запись] Работа с сетью в Go. Профилирование веба 17.01.23
9 Запись REST API и написание бота
10 Запись Язык SQL. Различные виды баз данных. Работа с БД из Go
11 Запись Управление зависимостями в Go. Построение приложений
12 Запись Микросервисная и монолитная архитектуры. protobuf и gPRC
13 Запись Конфигурирование сервиса и мониторинги

Записи консультаций

Формула оценивания

Оценка = МИН(ДЗ + бонус, 10), где ДЗ-средняя оценка за 8 домашних заданий

Домашние задания

  1. Контест 1: выдан 23.11.22, дедлайн - 30.11.22 10:00 05.12.22 02:00 МСК
  2. Контест 2: выдан 28.11.22, 08.12.22 23:59 МСК
  3. ДЗ 3: выдан 23.01.23, 05.02.23 23:59 МСК
  4. ДЗ 4: выдан 23.01.23, 12.02.23 23:59 МСК

Литература

  • Nadareishvili, I., Mitra, R., McLarty, M., & Amundsen, M. (2016). Microservice Architecture : Aligning Principles, Practices, and Culture: Vol. First edition. O’Reilly Media.
  • Основы многопоточного, параллельного и распределенного программирования, Эндрюс
  • Джей Макгаврен. Head First. Изучаем Go
  • Марк Саммерфильд. Программирование на языке Go
  • Михалис Цукалос. Golang для профи