Все о GraphQL за 30 минут

แชร์
ฝัง
  • เผยแพร่เมื่อ 12 ก.ค. 2024
  • #GraphQL
    В этом выпуске рассматриваем различные аспекты GraphQL, а именно что это такое, что такое Query и Mutation, переменные, фрагменты и директивы GraphQL и т.д.
    Мы в соцсетях:
    👉 Сайт: it-dev-journal.ru
    💻 Telegram: t.me/devmagazinechannel
    💻 Twitter: / _devmagazine
    💻 GitHub: github.com/vadimkorr
    ☕️ Поддержать канал: www.donationalerts.com/r/devm...
    Курсы и плейлисты:
    💡 Redux Saga: • 🍏 Redux Saga курс
    💡 Все о ReactJS: • 📘 ReactJS
    💡 Как пройти ReactJS собеседование: • 🚀 Собеседование React ...
    💡 ReactJS хуки: • 🐠 React хуки
    💡 Паттерны ReactJS: • 🏆 Паттерны ReactJS
    💡 Как создать слайдер на ReactJS: • 🎪 Как создать СЛАЙДЕР ...
    💡 Redux: • ☕️ Redux курс
    💡 Tailwind: • 🍃 TailwindCSS курс
    💡 Svelte: • 🌴 Svelte курс
    💡 Sass: • 📔 Sass курс
    💡 GraphQL: • 💪 GraphQL
    💡 JavaScript: • 📜 JavaScript
    00:00 - Введение
    05:47 - Поддержка языков
    06:29 - Как GraphQL получает данные
    07:05 - Query и Mutation
    07:48 - Поддержка БД
    08:23 - Как матчить данные из БД в GraphQL
    13:31 - Переменные GraphQL
    16:45 - GraphiQL
    18:24 - Фрагменты GraphQL (Fragment)
    19:40 - Значение переменных по умолчанию
    20:18 - Aliases GraphQL
    21:39 - Operation Name
    22:17 - Директивы GraphQL (include, skip)
    25:36 - Строчные фрагменты (Inline Fragment)
    26:30 - Мутации GraphQL (Mutation)
    29:35 - Insomnia и Postman
    30:54 - Порядок выполнения Mutation и Query
    31:43 - GraphQL на клиенте
    #devmagazine #devmagazinechannel

ความคิดเห็น • 51

  • @ev8317
    @ev8317 2 ปีที่แล้ว +5

    Подписка однозначно. Доходчиво, спокойно и не растянуто !

  • @ruslankhamidullin235
    @ruslankhamidullin235 2 ปีที่แล้ว +8

    Очень понятно и доходчиво. Спасибо

  • @aleksandrzelenskiy4000
    @aleksandrzelenskiy4000 2 ปีที่แล้ว +4

    Спасибо за доступное объяснение GraphQL

  • @ruslansitdikov1489
    @ruslansitdikov1489 2 ปีที่แล้ว +1

    Супер объяснение!!! Спасибо!!!

  • @user-ok2pm8bf3p
    @user-ok2pm8bf3p 2 ปีที่แล้ว +3

    Спасибо большущее за толковое видео!

  • @vladimirww5152
    @vladimirww5152 3 ปีที่แล้ว +2

    О, классно всё объяснил!

  • @DIEZ919191
    @DIEZ919191 2 ปีที่แล้ว

    коротко и понятно, спасибо!

  • @plaksa9856
    @plaksa9856 ปีที่แล้ว

    спасибо за видео! информативно и понятно.

  • @user-tj3dr5se4n
    @user-tj3dr5se4n 2 ปีที่แล้ว

    Спасибо) Классное видео

  • @ekaterinashiriaeva1585
    @ekaterinashiriaeva1585 2 ปีที่แล้ว +2

    Спасибо! Понятно и интересно :)

  • @cs_dequeue
    @cs_dequeue ปีที่แล้ว

    Спасибо большое за полезное видео!

  • @ivanstrelka3448
    @ivanstrelka3448 2 ปีที่แล้ว +3

    От души!

  • @stas6267
    @stas6267 3 ปีที่แล้ว +13

    Огромное спасибо! Готовлюсь к собеседованию, было очень полезно!

    • @futurepeople463
      @futurepeople463 ปีที่แล้ว +1

      Ты устроился?

    • @synthwave_chad
      @synthwave_chad ปีที่แล้ว

      @@futurepeople463 тот же вопрос

  • @user-lk5uv9ps4o
    @user-lk5uv9ps4o 11 หลายเดือนก่อน

    Спасибо! Отличное видео!

  • @user-jd4rl7im6d
    @user-jd4rl7im6d ปีที่แล้ว +1

    Включаю это видео на ночь, бессоницы больше нет, этот томный голос имеет буквально целебный эффект

    • @user-hg5ss9vm6v
      @user-hg5ss9vm6v ปีที่แล้ว +1

      этот прогер еще убойнее вырубает youtube.com/@JavaTutorRU

    • @user-jd4rl7im6d
      @user-jd4rl7im6d ปีที่แล้ว

      @@user-hg5ss9vm6v спасибо, ценный стафф

    • @user-cv2sg9dm5o
      @user-cv2sg9dm5o ปีที่แล้ว

      Меня и днем вырубает нормально, однозначно рекомендую👍

  • @Lov3Catch
    @Lov3Catch 2 ปีที่แล้ว

    Спасибо, шикарное интро.

  • @user-gm7tj8wh9n
    @user-gm7tj8wh9n 10 หลายเดือนก่อน

    Спасибо, классное видео)

  • @DevMagazineChannel
    @DevMagazineChannel  3 ปีที่แล้ว +4

    Еще больше супер полезного 👉 it-dev-journal.ru
    GraphQL vs REST 👉 th-cam.com/video/7fPcRouBVqo/w-d-xo.html
    Пагинация данных в GraphQL 👉 th-cam.com/video/SNapYOj9IpA/w-d-xo.html

  • @Reshila-us6uc
    @Reshila-us6uc 3 ปีที่แล้ว +6

    Опа подписался на канал ставлю лайк

  • @Stas1983ful
    @Stas1983ful 3 ปีที่แล้ว +1

    них-я у тебя и сайт есть, где можно запросы отшлифовать!! Спасибо тебе добрый человек!!!

  • @oygemor
    @oygemor 3 ปีที่แล้ว +1

    На бэке используешь ли DI (dependency injection)? Если нет, то почему? И почему в python этот подход не популярен? Спасибо за видео, круто. Но я пробовал graphql на net - это какое то мучение :)

    • @DevMagazineChannel
      @DevMagazineChannel  3 ปีที่แล้ว +1

      Спасибо за отзыв!) DI использовал часто, когда писал на .NET. Не могу сказать что в Python DI не популярен, просто он принимает другие формы и он не требует использования отдельных библиотек, как, например, в том же .NET. Хотя dependency_injector не перестает обновляться и используется. Тут скорее зависит от размера проекта и команды, в конце концов возникнет необходимость в разделении кода и в удобной структуре.
      А какую вы использовали graphql либу для .NET ?

    • @sergey_molchanovsky
      @sergey_molchanovsky 3 ปีที่แล้ว +2

      Мое имхо, что DI сильно переоценен и далеко не везде нужен.
      Пробовал в Unity, во Flutter, и в нативном Android, везде суть одна - внутри классов ссылки на интерфейсы, и неявно происходит подмена этих интерфейсов на реализации, ты либо пишешь контейнер с зависимостями, либо помечаешь классы как injectable. Из-за этого куча магии в коде, ты не можешь быть уверен, что интерфейс у тебя подменился, приходится потом лазить по всему коду и смотреть, есть ли injectable, или прописан ли класс в контейнере. При поверхностном взгляде на классы не видишь, куда что заинжекчено, не открыв класс и не проглядев код. В общем, больше головняка, чем пользы.

    • @IvanIvanov-ig4ng
      @IvanIvanov-ig4ng ปีที่แล้ว

      ​​@@sergey_molchanovsky не юзай ioc контейнер, делай di руками...

    • @sergey_molchanovsky
      @sergey_molchanovsky ปีที่แล้ว

      @@IvanIvanov-ig4ng ну вот во Флаттере все сервис-локаторы юзают. DI не прижился.

    • @IvanIvanov-ig4ng
      @IvanIvanov-ig4ng ปีที่แล้ว

      @@sergey_molchanovsky потому что хочется писать мало кода, его "легче поддерживать", а вообще, магия - зло, не доверяй роботам, за ними всё равно приходится перепроверять, ибо ответственность всё равно на тебе

  • @steel1004
    @steel1004 2 ปีที่แล้ว

    Если запрос на регистрацию - мутация(создаётся новая сущность пользователя) то на авторизацию - квери ?

    • @DevMagazineChannel
      @DevMagazineChannel  2 ปีที่แล้ว +1

      думаю, на аутентификацию - тоже мутация, т.к. это не просто выдача JWT (например), но и запись доп инфы в БД - время логина и т.д.

  • @george907126
    @george907126 ปีที่แล้ว

    Все круто но хотелось бы узнать как данные из gql выводить в html (списки, таблицы и тп) особенно полезно было бы узнать про Apollo и Angular как это там реализуется.

    • @DevMagazineChannel
      @DevMagazineChannel  ปีที่แล้ว

      Результатом запроса является обычный JSON.
      Списки/таблицы выводятся возможностями шаблона фреймворка, в ангуляре это ngFor.

    • @george907126
      @george907126 ปีที่แล้ว

      @@DevMagazineChannel спасибо за ответ, буду разбираться!

    • @harrisonwinston2850
      @harrisonwinston2850 ปีที่แล้ว

      @@DevMagazineChannel куда пропал?

  • @turtrueweb
    @turtrueweb 3 ปีที่แล้ว

    +

  • @duoduoo6732
    @duoduoo6732 ปีที่แล้ว

    в чем разница в использовании таких дополнительных посредников (grapjQL, restAPI и т.д.) при получении ответа на запрос по сравнению с получением ответов на запрос без этих дополнительных посредников, а сразу как в старые времена? почему эти посредники не лишние ведь раньше без них все работало и никто не жаловался?

  • @chelovak
    @chelovak ปีที่แล้ว +1

    contries немного сбивают с толка

  • @cjmartin6511
    @cjmartin6511 ปีที่แล้ว

    Чувааак, ты за 30 минут больше объяснил чем 6-ти часовой курс на udemy! Можно ли найти пример кода для бэкенда?

    • @DevMagazineChannel
      @DevMagazineChannel  ปีที่แล้ว +1

      Спасибо!
      есть такой пример на Python github.com/budgetsapp/ba-api

  • @CQRay
    @CQRay ปีที่แล้ว

    Что за BaIdentity?)

  • @atlasua2021
    @atlasua2021 2 ปีที่แล้ว +1

    я так понял сервер кидает запрос в базу данных и получает всё, а GraphQL делает запрос на сервер и получает только то что нужно?

    • @DevMagazineChannel
      @DevMagazineChannel  2 ปีที่แล้ว +1

      То что сервер должен получить из базы данных прописывается в resolver - она не обязательно будет запрашивать все данные из БД и зависит от того какой SQL (например) запрос напишет разработчик. resolver это функция которая вызывается GraphQL на запрос от клиента.

    • @IvanIvanov-ig4ng
      @IvanIvanov-ig4ng ปีที่แล้ว +1

      ​@@DevMagazineChannel ну не совсем корректно, есть несколько сценариев использования графкуля: один из них это с собственной базой (чаще колоночной) и кучей проблем о которых нужно помнить, второй для агрегации данных с нескольких микросервисов и третий в качестве транспортного уровня, чтобы легко исключать возвращение ненужных клиенту полей и стандартизации api

  • @user-vf4lq5mg9y
    @user-vf4lq5mg9y 2 ปีที่แล้ว

    и где это "Всё"??

  • @bogdan206
    @bogdan206 3 ปีที่แล้ว +5

    Шрифт слишком большой. Го по-меньше

  • @MsAnabios
    @MsAnabios ปีที่แล้ว

    Самое интересное, что как работать с запросами графа ты разобрался, но ты понятия не имеешь как это все работает на бекенде. Самый первый запрос - получаем список стран континента... где параметры выборки конкретного континента, где они? Это вес ьма важная инфа. Это как дать ключи от тачки, которая стоит непонятно где, и сказать - бери, это твоя тачка. Просто дизлайк.