[Яндекс.Практикум] Продвинутый Go-разработчик (2 из 6) (2023)
Поможем освоить новые навыки и выйти на следующий уровень разработки на Golang
«Продвинутый Go-разработчик»!
3 спринт
В третьем спринте модуля «Пакеты стандартной библиотеки» вы узнаете, как управлять временем выполнения операций и задавать интервалы. Также вы подключите к своему сервису базу данных и научитесь выявлять специфические ошибки.
1) Время: даты, интервалы, таймеры
1) Форматирование даты и времени
2) Парсинг даты и времени
3) Интерфейсы типа Time
4) Тип Duration
5) Тип Location
6) Типы Month и Weekday
7) Остановка программы на время
8) Время и горутины
9) Типы Timer и Ticker
2) Контекст: отмена операций
1) Родительский контекст
2) Контекст WithCancel
3) Контексты WithTimeout и WithDeadline
4) Передача значений через контекст
5) Контекст для запроса
6) Лучшие практики по использованию контекста
Тема: Пакет database/sql. Взаимодействие с базами данных SQL
1) Пакет gomock. Имитация данных для тестирования
1) Создаём моки с помощью пакета gomock
2) Абстрактный интерфейс и SQL-драйверы
1) Установка MySQL и PostgreSQL
2) Установка SQLite
3) Выбор драйвера
4) Пакет database/sql
5) MySQL
6) PostgreSQL
7) SQLite
8) Подготовка базы данных
3) Запросы к базе данных
1) SELECT-запрос
2) Методы Go для отправки запросов
3) Как работает метод Scan
4) Передача параметров
5) Работа с NULL значениями
6) Выбор нескольких строк
7) Расширение поддерживаемых типов
4) Запись в базу данных
1) Памятка по SQL-командам
2) Приступаем к практике
3) Транзакции
4) Подготовленные SQL-запросы
5) Множественная вставка
6) Индексы
7) Изменение записей
8) Использование именованных параметров в запросе
9) Настройка пула соединений
10) SQLx
11) Почему в Go не используют ORM
Тема: Пакет errors. Обработка ошибок
1) Интроспекция ошибок
1) Тип error
2) Упаковка ошибок
3) Интроспекция ошибок
4) Функция Join()
4 спринт
В четвёртом спринте вы завершите модуль «Пакеты стандартной библиотеки» и изучите последнюю его тему — хеширование и шифрование. Затем вы приступите к модулю «Конкурентность», который полностью посвящён многопоточности. В результате вы добавите в свой сервис авторизацию и обработку данных в асинхронном режиме.
Тема: Пакеты hash, crypto. Безопасность информации
1) Хеширование и шифрование
1) Шифрование
2) Генераторы случайных чисел
3) Криптостойкий генератор случайных чисел
4) Хеширование
5) Криптографические хеш-функции
6) Подпись данных
2) Авторизация: JSON Web Token
1) Что такое JWT
2) Где используют JWT
3) Из чего состоит структура JWT
4) Полезная нагрузка
5) Подпись
6) Как работает JWT
7) JWT и Go: как создать сервер аутентификации
8) Как проверить валидность токена
9) С какими проблемами можно столкнуться, используя JWT
10) Где хранить токены
Тема: Многопоточность
1) Основы многопоточности
1) Процессы и потоки
2) Многопоточность в Go
3) Проблемы многопоточности
2) Многопоточность в Go
1) Горутины
2) Планировщик горутин
3) Типы sync.WaitGroup и sync.Once
4) Примитивы синхронизации
5) Тип sync.Mutex
6) Тип sync.RWMutex
7) Тип sync.Cond
3) Каналы
1) Создание каналов
2) Операторы для работы с каналами
3) Однонаправленные каналы
4) Атомарные операции
4) Паттерны многопоточности: Генератор, Стоп-Кран, Паттерн обработки ошибок
1) Канал всегда должен быть закрыт отправителем
2) Паттерн Генератор
3) Паттерн обработки ошибок в горутинах
4) Паттерн Стоп-Кран
5) Паттерны многопоточности: Конвейер, Fan-In, Fan-Out, Семафор
1) Паттерн Конвейер
2) Паттерны Fan-In и Fan-Out
3) Паттерн Семафор
4) Паттерн Worker Pool
Подробнее:
Описание курса:
Поможем освоить новые навыки и выйти на следующий уровень разработки на Golang
«Продвинутый Go-разработчик»!
- 6 месяцев учёбы
- Умеренная нагрузка от 10 часов в неделю
- 390 часов теории и практики: 54 урока и 24 практических инкремента
3 спринт
В третьем спринте модуля «Пакеты стандартной библиотеки» вы узнаете, как управлять временем выполнения операций и задавать интервалы. Также вы подключите к своему сервису базу данных и научитесь выявлять специфические ошибки.
Тема: Пакеты time, context. Отмена операций и управление временем выполнения
1) Время: даты, интервалы, таймеры
1) Форматирование даты и времени
2) Парсинг даты и времени
3) Интерфейсы типа Time
4) Тип Duration
5) Тип Location
6) Типы Month и Weekday
7) Остановка программы на время
8) Время и горутины
9) Типы Timer и Ticker
2) Контекст: отмена операций
1) Родительский контекст
2) Контекст WithCancel
3) Контексты WithTimeout и WithDeadline
4) Передача значений через контекст
5) Контекст для запроса
6) Лучшие практики по использованию контекста
Тема: Пакет database/sql. Взаимодействие с базами данных SQL
1) Пакет gomock. Имитация данных для тестирования
1) Создаём моки с помощью пакета gomock
2) Абстрактный интерфейс и SQL-драйверы
1) Установка MySQL и PostgreSQL
2) Установка SQLite
3) Выбор драйвера
4) Пакет database/sql
5) MySQL
6) PostgreSQL
7) SQLite
8) Подготовка базы данных
3) Запросы к базе данных
1) SELECT-запрос
2) Методы Go для отправки запросов
3) Как работает метод Scan
4) Передача параметров
5) Работа с NULL значениями
6) Выбор нескольких строк
7) Расширение поддерживаемых типов
4) Запись в базу данных
1) Памятка по SQL-командам
2) Приступаем к практике
3) Транзакции
4) Подготовленные SQL-запросы
5) Множественная вставка
6) Индексы
7) Изменение записей
8) Использование именованных параметров в запросе
9) Настройка пула соединений
10) SQLx
11) Почему в Go не используют ORM
Тема: Пакет errors. Обработка ошибок
1) Интроспекция ошибок
1) Тип error
2) Упаковка ошибок
3) Интроспекция ошибок
4) Функция Join()
4 спринт
В четвёртом спринте вы завершите модуль «Пакеты стандартной библиотеки» и изучите последнюю его тему — хеширование и шифрование. Затем вы приступите к модулю «Конкурентность», который полностью посвящён многопоточности. В результате вы добавите в свой сервис авторизацию и обработку данных в асинхронном режиме.
Тема: Пакеты hash, crypto. Безопасность информации
1) Хеширование и шифрование
1) Шифрование
2) Генераторы случайных чисел
3) Криптостойкий генератор случайных чисел
4) Хеширование
5) Криптографические хеш-функции
6) Подпись данных
2) Авторизация: JSON Web Token
1) Что такое JWT
2) Где используют JWT
3) Из чего состоит структура JWT
4) Полезная нагрузка
5) Подпись
6) Как работает JWT
7) JWT и Go: как создать сервер аутентификации
8) Как проверить валидность токена
9) С какими проблемами можно столкнуться, используя JWT
10) Где хранить токены
Тема: Многопоточность
1) Основы многопоточности
1) Процессы и потоки
2) Многопоточность в Go
3) Проблемы многопоточности
2) Многопоточность в Go
1) Горутины
2) Планировщик горутин
3) Типы sync.WaitGroup и sync.Once
4) Примитивы синхронизации
5) Тип sync.Mutex
6) Тип sync.RWMutex
7) Тип sync.Cond
3) Каналы
1) Создание каналов
2) Операторы для работы с каналами
3) Однонаправленные каналы
4) Атомарные операции
4) Паттерны многопоточности: Генератор, Стоп-Кран, Паттерн обработки ошибок
1) Канал всегда должен быть закрыт отправителем
2) Паттерн Генератор
3) Паттерн обработки ошибок в горутинах
4) Паттерн Стоп-Кран
5) Паттерны многопоточности: Конвейер, Fan-In, Fan-Out, Семафор
1) Паттерн Конвейер
2) Паттерны Fan-In и Fan-Out
3) Паттерн Семафор
4) Паттерн Worker Pool
Подробнее:
Для просмотра ссылок пройдите регистрацию