Язык программирования Go (2022) — различия между версиями
Материал из Wiki - Факультет компьютерных наук
м (final UPD) |
м (formating impro) |
||
Строка 28: | Строка 28: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
− | ! Занятие !! Тема !! Дата | + | ! Занятие !! Тема !! Дата |
|- | |- | ||
− | | style="background:#eaecf0;" | '''1''' || [[https://youtu.be/6SER596qUDQ?list=PLmA-1xX7IuzAnhO7LGn4gRDHjPStjyPi2 Запись]] Установка языка. Основы синтаксиса, основные типы данных. Работа со стандартным I/O || 07.11.22 | + | | style="background:#eaecf0;" | '''1''' || [[https://youtu.be/6SER596qUDQ?list=PLmA-1xX7IuzAnhO7LGn4gRDHjPStjyPi2 Запись]] Установка языка. Основы синтаксиса, основные типы данных. Работа со стандартным I/O || 07.11.22 |
|- | |- | ||
− | | 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''' || [[https://www.youtube.com/watch?v=OwyAlBupnEg&list=PLmA-1xX7IuzAnhO7LGn4gRDHjPStjyPi2 Запись]] Аналог ООП в 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''' || [[https://www.youtube.com/watch?v=fVL03AioZ-o&list=PLmA-1xX7IuzAnhO7LGn4gRDHjPStjyPi2 Запись]] Горутины и каналы в 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''' || [[https://www.youtube.com/watch?v=cFHbkcxzdME&list=PLmA-1xX7IuzAnhO7LGn4gRDHjPStjyPi2 Запись]] Синхронизация, пул воркеров, состояние гонки. Экскурс в проблемы многопоточного программирования || 05.12.22 | + | | style="background:#eaecf0;" | '''5''' || [[https://www.youtube.com/watch?v=cFHbkcxzdME&list=PLmA-1xX7IuzAnhO7LGn4gRDHjPStjyPi2 Запись]] Синхронизация, пул воркеров, состояние гонки. Экскурс в проблемы многопоточного программирования || 05.12.22 |
|- | |- | ||
− | | style="background:#eaecf0;" | '''6''' || [[https://www.youtube.com/watch?v=r7vDfLxw10U&list=PLmA-1xX7IuzAnhO7LGn4gRDHjPStjyPi2 Запись]] Примитивы синхронизации. Атомики и мьютексы в 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 и динамическими данными. Бенчмарки и тестирование || 19.12.22 | + | | style="background:#eaecf0;" | '''7''' || [[https://www.youtube.com/watch?v=XUDsXKkZbNM&list=PLmA-1xX7IuzAnhO7LGn4gRDHjPStjyPi2 Запись]] Работа с json и динамическими данными. Бенчмарки и тестирование || 19.12.22 |
|- | |- | ||
| Конец первого модуля | | | Конец первого модуля | | ||
|- | |- | ||
− | | style="background:#eaecf0;" | '''8''' || [[https://www.youtube.com/watch?v=n8m0XeP3SMA&list=PLmA-1xX7IuzAnhO7LGn4gRDHjPStjyPi2 Запись]] Работа с сетью в Go. Профилирование веба || 17.01.23 | + | | style="background:#eaecf0;" | '''8''' || [[https://www.youtube.com/watch?v=n8m0XeP3SMA&list=PLmA-1xX7IuzAnhO7LGn4gRDHjPStjyPi2 Запись]] Работа с сетью в Go. Профилирование веба || 17.01.23 |
|- | |- | ||
− | | style="background:#eaecf0;" | '''9''' || [[https://www.youtube.com/watch?v=i8eMwAk7Ifc&list=PLmA-1xX7IuzAnhO7LGn4gRDHjPStjyPi2 Запись]] Язык SQL. Различные виды баз данных. Работа с БД из Go || 23.01.23 | + | | style="background:#eaecf0;" | '''9''' || [[https://www.youtube.com/watch?v=i8eMwAk7Ifc&list=PLmA-1xX7IuzAnhO7LGn4gRDHjPStjyPi2 Запись]] Язык SQL. Различные виды баз данных. Работа с БД из Go || 23.01.23 |
|- | |- | ||
− | | style="background:#eaecf0;" | '''10''' || [[https://www.youtube.com/watch?v=JxTCWKxr-Ww&list=PLmA-1xX7IuzAnhO7LGn4gRDHjPStjyPi2 Запись]] Работа с БД из Go. REST API и написание бота || 30.01.23 | + | | style="background:#eaecf0;" | '''10''' || [[https://www.youtube.com/watch?v=JxTCWKxr-Ww&list=PLmA-1xX7IuzAnhO7LGn4gRDHjPStjyPi2 Запись]] Работа с БД из Go. REST API и написание бота || 30.01.23 |
|- | |- | ||
− | | style="background:#eaecf0;" | '''11''' || [[https://www.youtube.com/watch?v=1ViIqOxoS24&list=PLmA-1xX7IuzAnhO7LGn4gRDHjPStjyPi2 Запись]] Управление зависимостями в Go. Построение приложений || 06.02.23 | + | | style="background:#eaecf0;" | '''11''' || [[https://www.youtube.com/watch?v=1ViIqOxoS24&list=PLmA-1xX7IuzAnhO7LGn4gRDHjPStjyPi2 Запись]] Управление зависимостями в Go. Построение приложений || 06.02.23 |
|- | |- | ||
− | | style="background:#eaecf0;" | '''12''' || [[https://www.youtube.com/watch?v=puZ7CCJDMPk&list=PLmA-1xX7IuzAnhO7LGn4gRDHjPStjyPi2 Запись]] Микросервисная и монолитная архитектуры. protobuf и gPRC || 20.02.23 | + | | style="background:#eaecf0;" | '''12''' || [[https://www.youtube.com/watch?v=puZ7CCJDMPk&list=PLmA-1xX7IuzAnhO7LGn4gRDHjPStjyPi2 Запись]] Микросервисная и монолитная архитектуры. protobuf и gPRC || 20.02.23 |
|- | |- | ||
− | | style="background:#eaecf0;" | '''13''' || [[https://www.youtube.com/watch?v=NPVEmfRrGOw&list=PLmA-1xX7IuzAnhO7LGn4gRDHjPStjyPi2&index=14 Запись]] Конфигурирование сервиса и мониторинги || 20.03.23 | + | | style="background:#eaecf0;" | '''13''' || [[https://www.youtube.com/watch?v=NPVEmfRrGOw&list=PLmA-1xX7IuzAnhO7LGn4gRDHjPStjyPi2&index=14 Запись]] Конфигурирование сервиса и мониторинги || 20.03.23 |
|- | |- | ||
|} | |} |
Текущая версия на 20:38, 28 марта 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 и динамическими данными. Бенчмарки и тестирование | 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: выдан 23.11.22, дедлайн -
30.11.22 10:0005.12.22 02:00 МСК - Контест 2: выдан 28.11.22, 08.12.22 23:59 МСК
- ДЗ 3 (Бенчмарки): выдано 23.01.23, 05.02.23 23:59 МСК
- ДЗ 4 (Тесты): выдано 23.01.23, 19.02.23 23:00 МСК
- ДЗ 5 (Базы данных), баллы х2: выдано 20.02.23, 12.03.23 23:59 МСК
- ДЗ 6 (Микросервисы, необязательное), баллы х2: выдано 20.03.23, 04.04.23 11:59 МСК
- ДЗ бонус (Каналы): выдано 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 для профи