Продвинутые шаблоны для создания API и веб-приложений на Go. Let's Go Further поможет вам расширить свои знания о Go, выйдя за рамки основ и проведя вас через продвинутые паттерны для разработки, управления и развертывания API и веб-приложений.
Книга основана на многих концепциях, представленных в Let’s Go, и рассказывает о сквозной сборке RESTful JSON API - от начальной настройки проекта до развертывания в производственной среде.
Это дает нам возможность охватить важные темы в контексте законченного рабочего приложения, включая миграции SQL, запросы CORS, авторизацию на основе разрешений, управление фоновыми задачами, создание отчетов по метрикам, автоматизацию этапов сборки и развертывания и многое другое.
Если вам понравился Let’s Go, этот курс должен идеально вам подойти и стать идеальным следующим шагом в освоении Go.
Что вы узнаете…
Структура и организация - как реализовать идиоматическую и гибкую структуру кода для ваших проектов RESTful API.
Ответы в формате JSON - как отправлять ответы в формате JSON из вашего API, как их форматировать и настраивать в соответствии с вашими конкретными потребностями, а также о том, о каких общих проблемах вам нужно знать.
Запросы JSON - как анализировать входящие запросы JSON, управлять ошибочными запросами, а также ограничивать и проверять содержимое JSON.
Миграции SQL - как использовать миграции SQL для организации и управления изменениями в схеме базы данных.
Операции с базой данных - как установить тайм-ауты для запросов к базе данных и оптимизировать поведение пула соединений sql.DB.
Помимо CRUD - как выполнять «расширенные» действия с вашими ресурсами API, включая получение связанных данных и выполнение частичных обновлений (с оптимистичным контролем параллелизма).
Фильтрация, сортировка и разбиение на страницы - как легко поддерживать фильтрацию, сортировку и разбиение на страницы данных в конечных точках API.
Полнотекстовый поиск - как использовать функцию полнотекстового поиска PostgreSQL для поддержки поиска ваших данных на естественном языке.
Структурированное ведение логов.
Ограничение скорости - как реализовать простой и надежный шаблон для применения ограничений скорости для каждого клиента для вашего API.
Управление фоновыми задачами - как безопасно выполнять задачи в фоновых goroutines.
Изящное завершение работы - как настроить API, чтобы разрешить плавное завершение работы, включая ожидание завершения фоновых задач.
Отправка электронных писем - как отправлять электронные письма из вашего API и управлять содержимым электронной почты с помощью новых встроенных функций файлов Go.
Активация пользователя и сброс пароля - как создать безопасные рабочие процессы для регистрации пользователей, проверки их адресов электронной почты и управления сбросом паролей.
Аутентификация - как аутентифицировать пользователей как с помощью токенов-носителей с отслеживанием состояния, так и с помощью JWT без сохранения состояния (веб-токены JSON).
Авторизация на основе разрешений - как реализовать детальные проверки авторизации на основе разрешений на конечных точках API.
Управление запросами CORS - как управлять запросами между разными источниками к вашему API из интерфейсных приложений JavaScript.
Метрики - как предоставить метрики приложения, включая использование памяти, статистику пула соединений sql.DB, количество ответов и многое другое.
Сборка и аудит - как использовать инструменты Go и Makefiles для простого аудита вашего кода, сборки двоичных файлов и зависимостей от поставщиков.
Управление версиями - как использовать Git для реализации автоматического управления версиями приложений при сборке двоичных файлов.
Развертывание - как настроить сервер Linux в Digital Ocean, автоматизировать развертывание и запустить свой API в качестве фоновой службы в производственной среде с помощью systemd.
Команда внимательно читает ваши комментарии и оперативно на них реагирует. Вы можете спокойно оставлять запросы на обновления или задавать любые вопросы о курсе здесь.
Другие материалы в этой категории
[Книга] Let's Go! Научитесь создавать профессиональные веб-приложения с Golang
Thanks.