Язык программирования Go (2022) — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
м (add recordings of lectures 1&2)
м (2nd module's finish UPD)
Строка 34: Строка 34:
 
| style="background:#eaecf0;" | '''2''' || [[https://www.youtube.com/watch?v=SxgG2hYJdZs&list=PLmA-1xX7IuzAnhO7LGn4gRDHjPStjyPi2 Запись]] Функции. Указатели. Написание тестов || 14.11.22 || ||  
 
| style="background:#eaecf0;" | '''2''' || [[https://www.youtube.com/watch?v=SxgG2hYJdZs&list=PLmA-1xX7IuzAnhO7LGn4gRDHjPStjyPi2 Запись]] Функции. Указатели. Написание тестов || 14.11.22 || ||  
 
|-
 
|-
| style="background:#eaecf0;" | '''3''' || [[ Запись]] Аналог ООП в Go. Структуры и методы, интерфейсы || 21.11.22 || ||
+
| style="background:#eaecf0;" | '''3''' || [[https://www.youtube.com/watch?v=OwyAlBupnEg&list=PLmA-1xX7IuzAnhO7LGn4gRDHjPStjyPi2 Запись]] Аналог ООП в Go. Структуры и методы, интерфейсы || 21.11.22 || ||
 
|-
 
|-
| style="background:#eaecf0;" | '''4''' || [[ Запись]] Горутины и каналы в Go. Экскурс в мультиплексирование и pipe в Linux || 28.11.22 || ||  
+
| style="background:#eaecf0;" | '''4''' || [[https://www.youtube.com/watch?v=fVL03AioZ-o&list=PLmA-1xX7IuzAnhO7LGn4gRDHjPStjyPi2 Запись]] Горутины и каналы в Go. Экскурс в мультиплексирование и pipe в Linux || 28.11.22 || ||  
 
|-
 
|-
| style="background:#eaecf0;" | '''5''' || [[ Запись]] Синхронизация, пул воркеров, состояние гонки. Экскурс в проблемы многопоточного программирования || 05.12.22 || ||  
+
| style="background:#eaecf0;" | '''5''' || [[https://www.youtube.com/watch?v=cFHbkcxzdME&list=PLmA-1xX7IuzAnhO7LGn4gRDHjPStjyPi2 Запись]] Синхронизация, пул воркеров, состояние гонки. Экскурс в проблемы многопоточного программирования || 05.12.22 || ||  
 
|-
 
|-
| style="background:#eaecf0;" | '''6''' || [[ Запись]] Примитивы синхронизации. Атомики и мьютексы в Go. Пакет context, таймеры и таймауты || 12.12.22 || ||  
+
| style="background:#eaecf0;" | '''6''' || [[https://www.youtube.com/watch?v=r7vDfLxw10U&list=PLmA-1xX7IuzAnhO7LGn4gRDHjPStjyPi2 Запись]] Примитивы синхронизации. Атомики и мьютексы в Go. Пакет context, таймеры и таймауты || 12.12.22 || ||  
 
|-
 
|-
| Конец первого модуля |
+
| style="background:#eaecf0;" | '''7''' || [[https://www.youtube.com/watch?v=XUDsXKkZbNM&list=PLmA-1xX7IuzAnhO7LGn4gRDHjPStjyPi2 Запись]] Работа с json и динамическими данными. Бенчмарки и тестирование ||  || ||  
 
|-
 
|-
| style="background:#eaecf0;" | '''7''' || [[ Запись]] Работа с json и динамическими данными. Бенчмарки и тестирование ||  || ||  
+
| Конец первого модуля |
 
|-
 
|-
 
| style="background:#eaecf0;" | '''8''' || [[ Запись]] Работа с сетью в Go. Профилирование веба||  || ||  
 
| style="background:#eaecf0;" | '''8''' || [[ Запись]] Работа с сетью в Go. Профилирование веба||  || ||  
Строка 67: Строка 67:
  
 
== Домашние задания ==
 
== Домашние задания ==
#
+
# [https://official.contest.yandex.ru/contest/43381/enter Контест 1]: ''выдан 23.11.22'', '''дедлайн -''' <strike>30.11.22 10:00</strike> '''05.12.22 02:00 МСК'''
#
+
# [https://official.contest.yandex.ru/contest/43930/enter Контест 2]: ''выдан 28.11.22'', '''08.12.22 23:59 МСК'''
 
#
 
#
 
#
 
#

Версия 09:51, 9 января 2023

О курсе

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

Занятия проводятся в 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 и динамическими данными. Бенчмарки и тестирование
8 Запись Работа с сетью в Go. Профилирование веба
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 МСК

Литература

  • 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 для профи