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