Вводный
Приветствие от Лео
Правила курса
Общий чат курса
Введение в Go. Часть 1
Осознанное знакомство с Go
Основы синтаксиса
Работа с массивами и срезами
Работа со строками
Работа с картами (map): создание, доступ, операции
Указатели, структуры, методы
Задание 1
Введение в Go. Часть 2
Интерфейсы
Обработка ошибок в Go
Управление пакетами и модулями
NEW! Дженерики
NEW! Итераторы
Задание 2
Параллельное программирование
Введение в параллельное программирование. Модель PMG.
Горутины
Синхронизация данных
Concurrency в Go: каналы и паттерны
Контекст (Context)
Задание 3
Работа с данными
Работа с потоками ввода/вывода
Работа с аргументами командной строки
Работа с файлами
Работа с JSON, YAML
Работа с SQL базами данных
Задание 4
Веб-разработка на Go
Основы HTTP и запуск сервера в Go
Роутинг и middleware
Работа с запросами и ответами
Шаблоны и статические файлы
HTTP-клиент в Go
Популярные фреймворки для HTTP
Задание 5
Тестирование и отладка
Тестирование в Go
Мокирование и тестирование API
Бенчмарки
Профилирование
Задание 6
Основы микросервисов в Go
Введение в микросервисы
JSON-RPC
gRPC + protobuf
Задание 7
Вопросы безопасности
TLS, Сертификаты, Цепочки сертификатов
Безопасность в HTTP (HTTPS)
Безопасность в gRPC
Аутентификация и авторизация (JWT)
Аутентификация и авторизация (OAuth 2.0)
Задание 8
Продвинутая разработка в Go
Рефлексия
Внедрение зависимостей (DI)
Управление конфигурациями и средами
Управление памятью и аллокациями
Логгирование
Сборка Docker-контейнера
Задание 9
Послесловие
Слова напутствия от Лео
Обратная связь