Практический задачник с задачами, которые встречаются в реальной работе Go-разработчика. Никаких олимпиадных задач — только то, что нужно делать каждый день.
Трансформация данных, фильтрация, группировка, удаление дубликатов — базовые операции с коллекциями.
Темы:
- Трансформация структур данных
- Группировка по ключам
- Удаление дубликатов
- Фильтрация и сортировка
- Слияние и объединение данных
Парсинг JSON от API, маппинг данных, работа с тегами, кастомные типы.
Темы:
- Unmarshal/Marshal JSON
- Кастомные теги и валидация
- Работа с вложенными структурами
- Обработка динамических JSON
- Конвертация между форматами
Создание, оборачивание и обработка ошибок по-настоящему Go-way.
Темы:
- Создание кастомных ошибок
- Wrapping и unwrapping
- Sentinel errors
- Обработка множественных ошибок
- Логирование ошибок
Параллельная обработка данных, координация горутин, таймауты, контексты.
Темы:
- Worker pools
- Fan-in/Fan-out паттерны
- Использование context
- Таймауты и отмена операций
- Безопасная работа с общими данными
Чтение, запись, обработка больших файлов, работа с путями.
Темы:
- Чтение и запись файлов
- Потоковая обработка больших файлов
- Работа с директориями
- CSV и текстовые форматы
- Временные файлы
Создание HTTP серверов и клиентов, middleware, обработка запросов.
Темы:
- HTTP handlers и роутинг
- Middleware
- HTTP клиенты с таймаутами
- Загрузка файлов
- Работа с query parameters и headers
SQL запросы, транзакции, миграции, работа с пулом соединений.
Темы:
- CRUD операции с database/sql
- Транзакции
- Prepared statements
- Пагинация
- Работа с NULL значениями
Unit тесты, моки, table-driven tests, бенчмарки.
Темы:
- Table-driven tests
- Моки и интерфейсы
- Тестирование HTTP handlers
- Тестирование с БД
- Бенчмарки
Создание CLI приложений, работа с флагами, переменными окружения и конфигурационными файлами.
Темы:
- Флаги командной строки (flag, cobra)
- Environment variables
- Конфигурационные файлы (viper)
- Interactive prompts
- Progress bars и цветной вывод
Создание и работа с gRPC сервисами, паттерны микросервисной архитектуры.
Темы:
- Базовый gRPC (unary, streaming)
- Interceptors и middleware
- Service Discovery
- Circuit Breaker
- Health Checks и Distributed Tracing
- Решайте последовательно — темы идут от простого к сложному
- Читайте контекст — каждая задача описывает реальную рабочую ситуацию
- Используйте подсказки — раскрывайте их по мере необходимости
- Пишите код сами — готовых решений нет специально
- Проверяйте работу — запускайте код, пишите тесты
- 🟢 Базовый уровень — ежедневные задачи
- 🟡 Средний уровень — требует понимания деталей
- 🔴 Продвинутый уровень — сложные сценарии
- Go 1.21+ (некоторые задачи используют современный синтаксис)
- Базовое понимание синтаксиса Go
- Желание писать настоящий production код