💻 Программирование [Alexedwards] Let's Go Further! Расширенные паттерны для создания API-интерфейсов и веб-приложений в Go (2021)

Ho Lee Fuk

Сенсей
⚔ АДМИНИСТРАТОР ⚔
Регистрация
22 Февраль 2018
Сообщения
11.997
Автор: Alexedwards

Название: Let's Go Further! Расширенные паттерны для создания API-интерфейсов и веб-приложений в Go (2021)

43bf8edb76871bbf5662601521af3b5d.jpg


Описание:

Let's Go Further! Advanced patterns for building APIs and web applications in Go

Alexedwards

Продвинутые шаблоны для создания 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.

Материал на английском языке

Подробнее:
Для просмотра содержимого вам необходимо авторизоваться.

Скачать:
🔒

Доступ ограничен

Авторизуйтесь, чтобы увидеть цену и получить доступ к материалам



Скрытый контент для пользователей All-dar.
 

Присоединяйтесь, чтобы открыть полный доступ

Комментарии и материалы этой темы доступны только зарегистрированным участникам

Новый участник?

Регистрация занимает меньше минуты

Уже с нами?

Войдите в свой аккаунт

Сверху