Проектирование REST API / OpenAPI (TypeSpec) / Кеширование / Денис Семененко / #17
В этом выпуске мы с Денисом Семененко, Principal Software Engineer в DocGo, обсуждаем разработку REST API, спецификации, преимущества и недостатки инструментов типа TypeBox и TypeSpec, и как понимание всех этих аспектов влияет на процесс проектирования.
✅ Подписывайтесь на канал «Организованное программирование» в Telegram
– Список подкаст-платформ (Apple Podcast, Google Podcast, Spotify, Яндекс.Музыка и другие)
Мы затронем исторический контекст REST, его ограничения и концепцию hateOAS для построения гибких интерфейсов. Также рассмотрим, как REST и RPC решают схожие задачи и чем отличаются JSON API и GraphQL, поговорим про OpenAPI и Async API, стандарты обработки ошибок, перемещение логики на промежуточные серверы и разделение ответственности между клиентом и сервером. В общем в этом эпизоде очень много о программировании и архитектуре.
Полезные ссылки:
– Твиттер Дениса:
– Тред про REST API:
– Hypermedia Factors. Факторы для сравнения разных message formats между собой
– AsyncAPI
– OpenAPI Tools
– Книга Сергея Константинова
00:00 Обсуждение REST и API
08:55 Инструменты и спецификации для API
12:44 Инновации в программировании с Closure
20:09 TypeSpec: Будущее описания API
24:47 Сравнение подходов к описанию API
29:54 Сравнение OpenAPI и альтернативных решений
34:36 Книга Сергея Константинова и мифология REST
39:11 Понимание hateOS и его значение
42:07 Гипермедиа и его роль в вебе
44:31 Динамическое построение интерфейсов
46:54 Проблемы с реализацией API
48:54 Преимущества REST по сравнению с RPC
51:18 Перемещение логики на промежуточный сервер
54:33 Стандарты обработки ошибок в API
59:45 Сравнение JSON API и GraphQL
01:04:31 Проблемы упаковки данных в JSON
01:07:41 Форматы сообщений и обратная совместимость
01:10:42 Семантический веб и его влияние на API
01:12:56 Гибкое выборочное представление контента
01:14:53 Разнообразие форматов API и их применение
01:17:05 Стандарты API и их эволюция
01:20:40 Выбор технологий для построения API
01:23:52 Frontend и API: как строить взаимодействие
01:25:49 ГрафQL: хайп и реальность
01:29:11 Проблемы и ограничения GraphQL
01:29:42 Оптимизация REST API и его преимущества
01:30:12 Знакомство с Ransack и его концепцией
01:31:14 Фильтрация данных и ее сложности
01:32:53 Преимущества Ransack в фильтрации
01:35:34 Использование Doreos и Grape для API
01:37:14 Валидация данных и ее уровни
01:39:35 Проектирование микросервисов и Domain Driven Design
183 views
1985
647
4 months ago 00:16:45 1
УРОВНИ ИЗОЛЯЦИИ ТРАНЗАКЦИЙ в БД и MVCC за 16 минут
4 months ago 00:28:18 1
Что такое REST API? HTTP, Клиент-Сервер, Проектирование, Разработка, Документация, Swagger и OpenApi
6 months ago 00:58:34 1
Ремонт ванной все этапы. Подготовка стен, коммуникации, укладка плитки, затирка и т.д.
6 months ago 00:14:47 1
Что такое CLICKHOUSE и колоночные СУБД
6 months ago 00:10:52 1
Что такое ELK за 10 минут: Elasticsearch, Kibana и Logstash
6 months ago 00:16:35 1
OpenAPI и Swagger Editor - своё описание REST API с нуля
6 months ago 01:32:13 1
Связь базы данных и дизайна REST API / Вебинар
7 months ago 00:13:53 1
Что такое ДЕНОРМАЛИЗАЦИЯ БД за 13 минут
7 months ago 01:31:15 1
Postman: навык тестирования REST API за вечер
7 months ago 00:51:42 12
Bhutan: The Dictatorship of Happiness
7 months ago 00:00:00 2
Как проектировать HTTP API – ШБР 2024
8 months ago 00:14:43 2
Проектирование БД: концептуальный уровень
8 months ago 01:16:12 2
Проектирование БД: логический уровень + ChatGPT
8 months ago 00:17:47 1
Проектирование архитектуры сервиса фриланса для учителей / Модульный монолит / eFreelancingTeachers
9 months ago 00:14:39 1
Что такое EVENT SOURCING за 14 минут
9 months ago 00:10:23 1
Что такое Hadoop за 10 минут
10 months ago 01:39:11 1
#005 Django СТРИМ 🔴 Проектирование базы данных
10 months ago 00:10:41 1
Что такое SQL ИНДЕКСЫ за 10 минут: Объяснение с примерами
10 months ago 00:15:25 1
FastAPI - Проектирование REST API #7
11 months ago 01:39:46 1
Проектирование архитектуры сервиса доставки еды
11 months ago 01:32:45 1
SC24EP01 Разработка веб-приложения - Разработка проектов со Spring #spring #java #web #validation
11 months ago 00:12:16 1
ХУДШИЕ ПРАКТИКИ РАЗРАБОТКИ И АРХИТЕКТУРЫ за 12 минут
11 months ago 01:24:05 1
Ярослав Лопухин. Введение в прикладной системный анализ: Что такое системы?