
Организованное программирование· Folge 17
#17 Проектирование REST API / OpenAPI (TypeSpec) / Кеширование / Денис Семененко
Donnerstag, 31. Oktober 2024 · 1 h 41
Kapitelklicken springt direkt hin
Shownotes
<p>В этом выпуске мы с Денисом Семененко, Principal Software Engineer в DocGo, обсуждаем разработку REST API, спецификации, преимущества и недостатки инструментов типа TypeBox и TypeSpec, и как понимание всех этих аспектов влияет на процесс проектирования.</p><p>✅ Подписывайтесь на <a href="t.me/orgprog">канал «Организованное программирование» в Telegram</a><br />– <a href="podcast.ru/1734325321">Список подкаст-платформ</a> (Apple Podcast, Google Podcast, Spotify, Яндекс.Музыка и другие)<br />– <a href="vk.com/video-224967259_456239055">Смот… в ВК Видео</a><br />– <a href="youtube.com/watch?v=W9sYAdiLnt8">Смотр… в Youtube</a><br />
<br />Мы затронем исторический контекст REST, его ограничения и концепцию HATEOAS для построения гибких интерфейсов. Также рассмотрим, как REST и RPC решают схожие задачи и чем отличаются JSON API и GraphQL, поговорим про OpenAPI и Async API, стандарты обработки ошибок, перемещение логики на промежуточные серверы и разделение ответственности между клиентом и сервером. В общем в этом эпизоде очень много о программировании и архитектуре.</p><p><br /><strong>Полезные ссылки:</strong></p><ul><li>Твиттер Дениса: twitter.com/denblackstache</li><li>… про REST API: x.com/mokevnin/status/1824512290793853328</… Factors. Факторы для сравнения разных message formats между собой<br /><a href="amundsen.com/hypermedia/hfactor/">http… <a href="asyncapi.com/">https://www.asyncapi.co… Tools <a href="openapi.tools/">https://openapi.tools/… Сергея Константинова <a href="twirl.github.io/The-API-Book/API.en.html"… Обсуждение REST и API<br />08:55 Инструменты и спецификации для API<br />12:44 Инновации в программировании с Closure<br />20:09 TypeSpec: Будущее описания API<br />24:47 Сравнение подходов к описанию API<br />29:54 Сравнение OpenAPI и альтернативных решений<br />34:36 Книга Сергея Константинова и мифология REST<br />39:11 Понимание hateOS и его значение<br />42:07 Гипермедиа и его роль в вебе<br />44:31 Динамическое построение интерфейсов<br />46:54 Проблемы с реализацией API<br />48:54 Преимущества REST по сравнению с RPC<br />51:18 Перемещение логики на промежуточный сервер<br />54:33 Стандарты обработки ошибок в API<br />59:45 Сравнение JSON API и GraphQL<br />01:04:31 Проблемы упаковки данных в JSON<br />01:07:41 Форматы сообщений и обратная совместимость<br />01:10:42 Семантический веб и его влияние на API<br />01:12:56 Гибкое выборочное представление контента<br />01:14:53 Разнообразие форматов API и их применение<br />01:17:05 Стандарты API и их эволюция<br />01:20:40 Выбор технологий для построения API<br />01:23:52 Frontend и API: как строить взаимодействие<br />01:25:49 ГрафQL: хайп и реальность<br />01:29:11 Проблемы и ограничения GraphQL<br />01:29:42 Оптимизация REST API и его преимущества<br />01:30:12 Знакомство с Ransack и его концепцией<br />01:31:14 Фильтрация данных и ее сложности<br />01:32:53 Преимущества Ransack в фильтрации<br />01:35:34 Использование Doreos и Grape для API<br />01:37:14 Валидация данных и ее уровни<br />01:39:35 Проектирование микросервисов и Domain Driven Design</p>
<strong>
<a href="boosty.to/mokevnin">★ Support this podcast ★</a>
</strong>