Если у тебя фронт и бек на тайпскрипте, то контракты можно вынести в нпм пакет, (При локальном подключении - могут быть сложности если клиент и сервер в разных репозиториях, придется добавлять гит саб модуль с контрактами и следить за их обновлением. При удалённом подключении - простота в использование в разных репозиториях, но нужно следить за версией пакета). Или использовать менеджеры моно репозиториев
@osad4enko3 ай бұрын
изменяя контракт нужно вводить новую версию ендпоинта, тогда не нужно бегать как ошпаненный на фронт и править контракты
@АлуаИванова-у5эАй бұрын
спасибо за видео, даже чайнику понятно
@СветланаАндреевна-х8р3 ай бұрын
Реально видео у вас серьезные спасибо!
@mercury_23793 ай бұрын
классно, спасибо. комментарий для продвижения
@АлуаИванова-у5эАй бұрын
33:09 если что можно выделить нужный текст и нажать shift+tab
@АлексейСтупников-д4уАй бұрын
А есть ли генераторы, основанные на спецификации OpenAPI, но позволяющие генерировать на основании кода фронтенда спецификацию? Раньше использовал ApiDoc, но сейчас он уже устарел
@beforeidissapear74733 ай бұрын
Скажи НЕТ власти фронтендеров | Пишем swagger сами
@YakubAx3 ай бұрын
Как всегда годнота подъехала
@agag50833 ай бұрын
Ну ты монстр . в хорошем смысле. Ничего пока не понял но было очень интересно
@АлексейСтупников-д4уАй бұрын
Благодарю за видео, но шрифт очень маленький
@ЕвгенийКондобаров-ю7г3 ай бұрын
чёткий контент)
@АлексейСтупников-д4уАй бұрын
Ещё минус такого подхода (написание схемы ручками) - это то, что схема будет постоянно отставать от актуального состояния кода и нужно будет каждый раз лезть в схему и обновлять её в ручную. то ли дело автогенерация схемы на основе исходного кода, но для фронтенда я не нашел современных инструментов для этого, а устаревшие (apiDoc) не хочется использовать
@paromovevgАй бұрын
Тут и смысл, что мы сначала пишем схему, а фронтовый код генерируем на её основе. Схема источник истины и она не может устареть
@BOCbMOU3 ай бұрын
Выглядит очень хорошо, но у меня один вопрос: а где хранить единый ямл? Если монорепа, то понятно, а если нет? Можно на сервере хранить, конечно, но тогда это никак не спасает от изменений апишки со стороны бека. Да и как отслеживать изменение ямла?
@paromovevg3 ай бұрын
Если не монорепа то в отдельном репозитории под yaml файл) Внесение изменений через MR которые должны апрувнуть и бэки и фронты Скачивать его можно через curl перед генерацией новой версии
@BOCbMOU3 ай бұрын
@@paromovevg допустим, но тут есть проблема: ломающие изменения. В таком случае перед тем, как беку делать работу, надо будет замерджить все необходимые изменения в ямл, но это означает, что ямл будет неактуальный. Хорошо, мы можем оставить ямл в другой ветке, но как тогда автоматически подтягивать изменения? Не то, чтобы это нерешаемый вопрос, но под всё это дейтсво надо скрипты писать, чтобы они ещё и у фронтов, и у беков без проблем запускались, ещё и с учётом того, что для доступа к репе с ямлом нужны креденшалы. Идея так-то хорошая, но минусы у неё заметные.
@ВсеволодРусинский3 ай бұрын
Топчик
@СергейМеньщиков-р2ш3 ай бұрын
Получается целый гайд по сваггеру?)
@Артем-о4щ7р3 ай бұрын
а что за анализатор зависимостей на 1:03:00
@РустемГадиев-и4к3 ай бұрын
34:38 tab + shift чуваак)))
@izzy75413 ай бұрын
А разве не так? openapi - спецификация, у неё есть своя версия swagger - сервис для генерации доки на основе openapi спеки (таких сервисов кстати не мало)
@АлександрСкиталец-ц7р3 ай бұрын
Swagger не защищает клиент от проблем. Я перешёл на io-ts бекендеры не очень рады.
@undertale-15075O3 ай бұрын
Не только swagger. В go вообще почти нет инструментов для него. Graphql gRPC
@SergeyPryada3 ай бұрын
а вы знаете почему на го нет инструментов? недавно смотрел и сильно этому удивлялся
@araz9113 ай бұрын
скажи нет боссу на стройке
@tusman4ik2 ай бұрын
Сукес.. Итем... Инфаркт.. 😂
@unicoxr5tj4173 ай бұрын
бэк-девы одобряют?))
@biLLie_wiLLie3 ай бұрын
Что такое контракты?
@jgkdmdevienjjgg88663 ай бұрын
Термин из архитектуры приложений/систем. Абстракция от какой-то системы (реализации). Частный случай - интерфейс в языках программирования. Либо публичная часть чего-либо - сигнатура функции например. А также всякие вещи которые имеются в виду - например знание о том что если дернем вот этот метод то система себя поведет так-то.
@araz9113 ай бұрын
это когда иванушку забирает военкомат служить на сво
@whosane9923Ай бұрын
Сразу видно, что ты не знаешь, что такое контракт ...
@АртурЮсупов-о3в2 ай бұрын
Добрый день! Коллеги прошу помочь вас Хочу чтобы при вызове данного компонента можно было бы передать style1 и style2 только с одинаковыми полями. Никак не могу придумать как это сделать, ChatGPT несет чушь. interface OpenableContainerProps extends HTMLProps { children?: ReactNode; isOpened: boolean; duration: number; style1: T; style2: T; } export type AnimationStyleType = { top?: SizeType; bottom?: SizeType; left?: SizeType; right?: SizeType; ... }; Должно чтобы при вызове такого варианта подсвечивалась ошибка, т.к style 1 и 2 имеют разные поля