В этом выпуске мы с Денисом Семененко, Principal Software Engineer в DocGo, обсуждаем разработку REST API, спецификации, преимущества и недостатки инструментов типа TypeBox и TypeSpec, и как понимание всех этих аспектов влияет на процесс проектирования.
✅ Подписывайтесь на канал «Организованное программирование» в Telegram
– Список подкаст-платформ (Apple Podcast, Google Podcast, Spotify, Яндекс.Музыка и другие)
– Смотреть в ВК Видео
– Смотреть в Youtube
Мы затронем исторический контекст REST, его ограничения и концепцию HATEOAS для построения гибких интерфейсов. Также рассмотрим, как REST и RPC решают схожие задачи и чем отличаются JSON API и GraphQL, поговорим про OpenAPI и Async API, стандарты обработки ошибок, перемещение логики на промежуточные серверы и разделение ответственности между клиентом и сервером. В общем в этом эпизоде очень много о программировании и архитектуре.
Полезные ссылки:
- Твиттер Дениса: https://twitter.com/denblackstache
- Тред про REST API: https://x.com/mokevnin/status/1824512290793853328
- Hypermedia Factors. Факторы для сравнения разных message formats между собой
http://amundsen.com/hypermedia/hfactor/ - AsyncAPI https://www.asyncapi.com/
- OpenAPI Tools https://openapi.tools/
- Книга Сергея Константинова https://twirl.github.io/The-API-Book/API.en.html
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
Fler avsnitt av Организованное программирование
Visa alla avsnitt av Организованное программированиеОрганизованное программирование med Кирилл Мокевнин finns tillgänglig på flera plattformar. Informationen på denna sida kommer från offentliga podd-flöden.
