Организованное программирование

#17 Проектирование REST API / OpenAPI (TypeSpec) / Кеширование / Денис Семененко


Listen Later

В этом выпуске мы с Денисом Семененко, 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

★ Support this podcast ★
...more
View all episodesView all episodes
Download on the App Store

Организованное программированиеBy Кирилл Мокевнин

  • 5
  • 5
  • 5
  • 5
  • 5

5

2 ratings


More shows like Организованное программирование

View all
Отвратительные мужики by Disgusting Men

Отвратительные мужики

77 Listeners

Не занесли by Максим Иванов, Павел Пивоваров, Артемий Леонов

Не занесли

58 Listeners

Что случилось by Медуза / Meduza

Что случилось

361 Listeners

Радио Медуза by Медуза / Meduza

Радио Медуза

96 Listeners

Два по цене одного by libo/libo

Два по цене одного

89 Listeners

kuji podcast by kuji podcast

kuji podcast

131 Listeners

Продолжение следует by Продолжение следует

Продолжение следует

58 Listeners

Запуск завтра by libo/libo

Запуск завтра

89 Listeners

Закат империи by libo/libo

Закат империи

194 Listeners

ГОВОРИТ ВАФИН by Jura.Vafin

ГОВОРИТ ВАФИН

27 Listeners

План Б by Т—Ж

План Б

17 Listeners

Почему мы еще живы by libo/libo

Почему мы еще живы

116 Listeners

Черный лебедь by Терменвокс

Черный лебедь

30 Listeners

На каком основании by libo/libo

На каком основании

21 Listeners

Закладка | Эхо by Эхо Подкасты

Закладка | Эхо

28 Listeners