Тёмный

GraphQL, что ты такое? || Охэхэнный бекенд 

Охэхэнные Истории
Подписаться 2,5 тыс.
Просмотров 10 тыс.
50% 1

Опубликовано:

 

30 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 27   
@hhtech
@hhtech 2 года назад
Внутри: 00:00 - Интро 00:20 - Вступление 00:40 - Живой пример из системы Talantix 01:14 - Проблемы REST API 03:56 - Что такое GraphQL? 04:57 - Пример GraphQL-схемы и запроса к серверу 05:50 - Сравнение GraphQL и REST 06:37 - Особенности миграции на GraphQL в hh.ru 07:57 - Плюсы перехода на GraphQL 08:42 - Подводные камни 10:35 - Заключение
@ionware
@ionware Месяц назад
С бэкендом на джаве вы не распробовали самую суть - граф нужен не только и не столько для фронта, сколько для общения подсистем бэкенда . CQRS на стероидах 😂 А подача и харизма топ, спасибо за живое интересное изложение вашей практики 🧘
@nonpiramid
@nonpiramid 13 дней назад
2:54 начиная с 1:14 просто торантиноаский диалог, конечно))
@31122099a
@31122099a Год назад
Прекрасное лаконичное изложение.
@AlexanderRich777
@AlexanderRich777 7 месяцев назад
имхо, применимо для каких-то сложных аналитических страниц со статистикой и графиками. для обычных вещей лучше API. чем больше зоопарка в технологиях проекта, тем хуже. лучше меньше всякой всячины использовать.
@chessinsights5827
@chessinsights5827 Год назад
Оскара!!! :) Но вообще спасибо, было интересно!
@hotsezus
@hotsezus 2 года назад
Как проектируете изменения в API? Code-first сильно форсит сразу писать реализацию - что если хочется сначала спроектировать и запустить обновленный API, запустить его для возможности фронтенду работать с ним прямо сейчас, а реализацию пилить в процессе?
@ИльяГорский-д6е
@ИльяГорский-д6е 2 года назад
Привет! Спасибо за хороший вопрос. У нас на клиенте есть механизм стабов, можем с лёгкостью подменять ответы к нашему графкл клиенту. При проектировании новой сущности мы, первым делом, составляем контракт вместе с бэкендом, где описываем query для конкретной задачи. Что позволяет на фронте 1 к 1 застабить данные и начать раньше разработку не зависимо от бэкенда. Порой бэк быстрее успевает сделать контракт, где мы уже просто выкачиваем схему ;)
@ИльяГорский-д6е
@ИльяГорский-д6е 2 года назад
Мы засняли серию про фронт. Там затронули тему стабов ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-QRNrJQuXWT4.html
@karnoumikhail
@karnoumikhail Год назад
Четко
@minkostas7232
@minkostas7232 Год назад
Что значит "клиент сам готовит данные" ? Что такое идеподентные методы ?
@MeinOne-s7x
@MeinOne-s7x 4 месяца назад
обычно на сервере готовишь данные для клиента, например прописываешь на сервере getClients и он вернет то что написано на сервере. А GraphQL прописывает клиент то есть в теле прописывается только нужные данные клиенту например имена клиентов или только их номера. Клиент готовит данные.
@NikolayMishin
@NikolayMishin Год назад
спасибо за видео
@koshchey42
@koshchey42 2 года назад
9:22 Неужели в других языках (кроме Java) нет поддержки GraphQL?
@Artem-v7d
@Artem-v7d 2 года назад
Тут важно упомянуть, что мы внедряли graphql в уже существующий проект, который целиком написан на java - банально легче и сильно дешевле было поднять графкл в уже существующих сервисах. Но хоть и мир java скорее на догоняющей позиции в призме графкля, не всё так уж и плохо, решения prod-ready. За всё время мы столкнулись с единственной проблемой из-за небогатства поддержки - в java только одно code-first решение, которое перестало ментейниться, хотя нам оно зашло
@koshchey42
@koshchey42 2 года назад
@@Artem-v7d Это я неверно понял, что имелось в виду. Когда до меня дошло, надо было удалить вопрос, а я забыл.
@egorzdioruc1223
@egorzdioruc1223 2 года назад
Молодцы ребзята!
@torburgmax
@torburgmax 2 года назад
а в чем проблема так же по ресту передавать в квери страницу, с которой идёт запрос? на бэке в зависимости от параметра будут отдаваться разные данные
@Maximus-yc1qe
@Maximus-yc1qe Год назад
тот же вопрос, тем более ребята даже проговорили этот вариант вначале и непонятно почему откинули
@PolitiquePotontiele
@PolitiquePotontiele Год назад
А если параметров станет больше одного? Например если появится мобильная версия приложения, версионирование апишки и проч? Идет постепенное создание велосипеда-аналога graphql Ну и тестирование такого огромного роута станет сущим кошмаром. Надо добавить одно поле в один микроэндпоинт и надо проверять, что другие не поломались
@vladegorov216
@vladegorov216 8 месяцев назад
в том, что у вас будет ограничение на 2048 символов
@maksatkural6463
@maksatkural6463 Год назад
Доходчиво👍
@invkg
@invkg 2 года назад
минусы тоже скажите ..
@Artem-v7d
@Artem-v7d 2 года назад
Привет! Начиная с 08:42 попытались о них рассказать
@sergeypodunov2606
@sergeypodunov2606 2 года назад
@@Artem-v7d В GraphQL обязательно все запросы POST? Нельзя ли хотя бы разделять на мутирующие и не мутирующие, отправлять мутирующие как POST а не мутирующие как GET?
@Artem-v7d
@Artem-v7d 2 года назад
​@@sergeypodunov2606 "В GraphQL обязательно все запросы POST?" - вовсе необязательно! Вполне можно и GET использовать, передавая query-параметром сам запрос. Просто в теле POST-метода чуть удобнее передавать потенциально большой graphql-запрос, не боясь выйти за пределы максимальной длины query-параметра, например, в случае GET-запроса. "Нельзя ли хотя бы разделять на мутирующие и не мутирующие" - технически можно в принципе, но зачем? Если ради разделения запросов на идемпотентные и неидемпотентные, то это сработает только для не мутирующих методов, однако идемпотентные методы изменения/удаления сущности мы не сможем отличить от неидемпотентного метода создания - в graphql-мире это просто мутация =/. А это знание может понадобиться, например, для ретраев идемпотентных запросов, если возникла условная проблема с сетью. Мы ещё не внедряли мутации и поэтому такую проблему ещё не решали, но сходу подумал о возможности прокидывания спец. хедера, указывающего идемпотентен запрос или нет. Но возможно есть ещё более изящные решения :)
Далее
Катаю тележки  🛒
08:48
Просмотров 606 тыс.
КОТЯТА В ОПАСНОСТИ?#cat
00:36
Просмотров 1,6 млн
Все о GraphQL за 30 минут
35:26
Просмотров 64 тыс.
Сравнение скорости GraphQL и REST
8:59