Все о 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
Подписка однозначно. Доходчиво, спокойно и не растянуто !
Очень понятно и доходчиво. Спасибо
Спасибо за доступное объяснение GraphQL
Супер объяснение!!! Спасибо!!!
Спасибо большущее за толковое видео!
Спасибо! 👍
О, классно всё объяснил!
коротко и понятно, спасибо!
спасибо за видео! информативно и понятно.
Спасибо) Классное видео
Спасибо! Понятно и интересно :)
Спасибо!)
Спасибо большое за полезное видео!
От души!
Огромное спасибо! Готовлюсь к собеседованию, было очень полезно!
Ты устроился?
@@futurepeople463 тот же вопрос
Спасибо! Отличное видео!
Включаю это видео на ночь, бессоницы больше нет, этот томный голос имеет буквально целебный эффект
этот прогер еще убойнее вырубает youtube.com/@JavaTutorRU
@@user-hg5ss9vm6v спасибо, ценный стафф
Меня и днем вырубает нормально, однозначно рекомендую👍
Спасибо, шикарное интро.
Спасибо, классное видео)
Еще больше супер полезного 👉 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
Опа подписался на канал ставлю лайк
них-я у тебя и сайт есть, где можно запросы отшлифовать!! Спасибо тебе добрый человек!!!
На бэке используешь ли DI (dependency injection)? Если нет, то почему? И почему в python этот подход не популярен? Спасибо за видео, круто. Но я пробовал graphql на net - это какое то мучение :)
Спасибо за отзыв!) DI использовал часто, когда писал на .NET. Не могу сказать что в Python DI не популярен, просто он принимает другие формы и он не требует использования отдельных библиотек, как, например, в том же .NET. Хотя dependency_injector не перестает обновляться и используется. Тут скорее зависит от размера проекта и команды, в конце концов возникнет необходимость в разделении кода и в удобной структуре.
А какую вы использовали graphql либу для .NET ?
Мое имхо, что DI сильно переоценен и далеко не везде нужен.
Пробовал в Unity, во Flutter, и в нативном Android, везде суть одна - внутри классов ссылки на интерфейсы, и неявно происходит подмена этих интерфейсов на реализации, ты либо пишешь контейнер с зависимостями, либо помечаешь классы как injectable. Из-за этого куча магии в коде, ты не можешь быть уверен, что интерфейс у тебя подменился, приходится потом лазить по всему коду и смотреть, есть ли injectable, или прописан ли класс в контейнере. При поверхностном взгляде на классы не видишь, куда что заинжекчено, не открыв класс и не проглядев код. В общем, больше головняка, чем пользы.
@@sergey_molchanovsky не юзай ioc контейнер, делай di руками...
@@IvanIvanov-ig4ng ну вот во Флаттере все сервис-локаторы юзают. DI не прижился.
@@sergey_molchanovsky потому что хочется писать мало кода, его "легче поддерживать", а вообще, магия - зло, не доверяй роботам, за ними всё равно приходится перепроверять, ибо ответственность всё равно на тебе
Если запрос на регистрацию - мутация(создаётся новая сущность пользователя) то на авторизацию - квери ?
думаю, на аутентификацию - тоже мутация, т.к. это не просто выдача JWT (например), но и запись доп инфы в БД - время логина и т.д.
Все круто но хотелось бы узнать как данные из gql выводить в html (списки, таблицы и тп) особенно полезно было бы узнать про Apollo и Angular как это там реализуется.
Результатом запроса является обычный JSON.
Списки/таблицы выводятся возможностями шаблона фреймворка, в ангуляре это ngFor.
@@DevMagazineChannel спасибо за ответ, буду разбираться!
@@DevMagazineChannel куда пропал?
+
в чем разница в использовании таких дополнительных посредников (grapjQL, restAPI и т.д.) при получении ответа на запрос по сравнению с получением ответов на запрос без этих дополнительных посредников, а сразу как в старые времена? почему эти посредники не лишние ведь раньше без них все работало и никто не жаловался?
contries немного сбивают с толка
Чувааак, ты за 30 минут больше объяснил чем 6-ти часовой курс на udemy! Можно ли найти пример кода для бэкенда?
Спасибо!
есть такой пример на Python github.com/budgetsapp/ba-api
Что за BaIdentity?)
я так понял сервер кидает запрос в базу данных и получает всё, а GraphQL делает запрос на сервер и получает только то что нужно?
То что сервер должен получить из базы данных прописывается в resolver - она не обязательно будет запрашивать все данные из БД и зависит от того какой SQL (например) запрос напишет разработчик. resolver это функция которая вызывается GraphQL на запрос от клиента.
@@DevMagazineChannel ну не совсем корректно, есть несколько сценариев использования графкуля: один из них это с собственной базой (чаще колоночной) и кучей проблем о которых нужно помнить, второй для агрегации данных с нескольких микросервисов и третий в качестве транспортного уровня, чтобы легко исключать возвращение ненужных клиенту полей и стандартизации api
и где это "Всё"??
Шрифт слишком большой. Го по-меньше
Самое интересное, что как работать с запросами графа ты разобрался, но ты понятия не имеешь как это все работает на бекенде. Самый первый запрос - получаем список стран континента... где параметры выборки конкретного континента, где они? Это вес ьма важная инфа. Это как дать ключи от тачки, которая стоит непонятно где, и сказать - бери, это твоя тачка. Просто дизлайк.