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

#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 Кирилл Мокевнин

  • 4.8
  • 4.8
  • 4.8
  • 4.8
  • 4.8

4.8

6 ratings


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

View all
Завтракаст (Zavtracast) by Завтракаст (Zavtracast)

Завтракаст (Zavtracast)

123 Listeners

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

Радио Медуза

95 Listeners

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

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

94 Listeners

kuji podcast by kuji podcast

kuji podcast

134 Listeners

Психология с Александрой Яковлевой by Александра Яковлева

Психология с Александрой Яковлевой

62 Listeners

Три пункта | Психология и юмор by Реальные истории людей

Три пункта | Психология и юмор

26 Listeners

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

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

86 Listeners

Экономика на слух by РЭШ

Экономика на слух

11 Listeners

Подкаст Глеба Соломина by Глеб Соломин

Подкаст Глеба Соломина

5 Listeners

План Б by Т—Ж

План Б

17 Listeners

На пенсию в 35 лет! by Babaykin

На пенсию в 35 лет!

12 Listeners

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

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

116 Listeners

Живой Гвоздь by Живой Гвоздь

Живой Гвоздь

178 Listeners

В курсе рубля by Т—Ж

В курсе рубля

2 Listeners

Конкуренты by libo/libo

Конкуренты

35 Listeners