Язык программирования 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 [Запись] Язык SQL. Различные виды баз данных. Работа с БД из Go 23.01.23
10 [Запись] Работа с БД из Go. REST API и написание бота 30.01.23
11 [Запись] Управление зависимостями в Go. Построение приложений 06.02.23
12 [Запись] Микросервисная и монолитная архитектуры. protobuf и gPRC 20.02.23
13 [Запись] Конфигурирование сервиса и мониторинги 20.03.23

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

Оценка = МИН(ДЗ + бонус, 10), где ДЗ-средняя оценка за 5 обязательных домашних заданий (одно из которых с двойным весом), а под бонусом понимается ДЗ-6 (баллы x2) и действительно бонусное дз :)

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

  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, 19.02.23 23:00 МСК
  5. ДЗ 5 (Базы данных), баллы х2: выдано 20.02.23, 12.03.23 23:59 МСК
  6. ДЗ 6 (Микросервисы, необязательное), баллы х2: выдано 20.03.23, 04.04.23 11:59 МСК
  7. ДЗ бонус (Каналы): выдано 20.03.23, 02.04.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 для профи