nexusstc/Разработка веб-приложений GraphQL с React, Node.js и Neo4j/ee38383c74ae3e8be7b0fe559105e4cb.pdf
Разработка веб-приложений GraphQL с React, Node.js и Neo4j 🔍
Уильям Лион
ДМК Пресс, 1, 2023
俄语 [ru] · PDF · 21.3MB · 2023 · 📘 非小说类图书 · 🚀/lgli/lgrs/nexusstc/zlib · Save
描述
Язык запросов API GraphQL заметно упрощает обмен данными с серверами, позволяя приложениям получать данные в виде простых для понимания графов. Преимущества GraphQL можно усилить за счет таких графовых инструментов и хранилищ данных, как React, Apollo и Neo4j. Подход к разработке графовых приложений полного цикла обеспечивает согласованную модель данных от начала до конца, повышая продуктивность разработчиков.Эта книга научит вас создавать графовые веб-приложения с использованием GraphQL, React, Apollo и базы данных Neo4j, которые все вместе называются GRANDstack. На практических примерах вы увидите, как элементы GRANDstack сочетаются друг с другом. Попутно создадите и развернете в облаке полноценное веб-приложение, поддерживающее поиск, аутентификацию и многое другое. А также узнаете, как развертывать комплексные приложения, в полной мере использующие производительность GraphQL.Для веб-разработчиков полного цикла. Опыт работы с GraphQL или графовыми базами данных не требуется. p, li { white-space: pre-wrap; }
备用文件名
lgli/Разработка веб-приложения GraphQL с React, Node.js и Neo4j (1).pdf
备用文件名
lgrsnf/Разработка веб-приложения GraphQL с React, Node.js и Neo4j (1).pdf
备用文件名
zlib/no-category/Уильям Лион/Разработка веб-приложений GraphQL с React, Node.js и Neo4j_24519085.pdf
备用出版商
DMK
备用版本
Russia, Russian Federation
元数据中的注释
Publisher's PDF
元数据中的注释
{"edition":"1","isbns":["5937001850","9785937001856"],"last_page":264,"publisher":"ДМК Пресс"}
备用描述
Предисловие от издательства
Вступление
Благодарности
О книге
Кому адресована эта книга
Организация книги
О примерах программного кода
Требования к программному обеспечению
Живое обсуждение книги
Другие онлайн-ресурсы
Об авторе
Об иллюстрации на обложке
Часть I. Введение в стек GraphQL
Глава 1
Что такое стек GraphQL?
1.1. Обзор стека GraphQL
1.2. GraphQL
1.2.1. Определения типов в GraphQL
1.2.2. Запросы GraphQL
1.2.3. Преимущества GraphQL
1.2.4. Недостатки GraphQL
1.2.5. Инструменты GraphQL
1.3. React
1.3.1. Компоненты React
1.3.2. JSX
1.3.3. Инструменты React
1.4. Apollo
1.4.1. Apollo Server
1.4.2. Apolo Client
1.5. База данных Neo4j
1.5.1. Графовая модель свойств
1.5.2. Язык запросов Cypher
1.5.3. Инструменты Neo4j
1.6. Как все это сочетается
1.6.1. React и Apollo Client: выполнение запроса
1.6.2. Apollo Server и серверная часть GraphQL
1.6.3. React и Apollo Client: обработка ответа
1.7. Что мы будем строить в этой книге
1.8. Упражнения
Итоги
Глава 2
Графовое мышление с GraphQL
2.1. Данные приложения – это граф
2.2. Графы в GraphQL
2.2.1. Моделирование API с применением определений типов: разработка на основе GraphQL
2.2.2. Выборка данных с помощью функций разрешения
2.2.3. Наша первая функция разрешения
2.3. Объединение определений типов и функций разрешения в Apollo Server
2.3.1. Apollo Server
2.3.2. Apollo Studio
2.3.3. Реализация функций разрешения
2.3.4. Выполнение запросов с помощью Apollo Studio
2.4. Упражнения
Итоги
Глава 3
Графы в базе данных
3.1. Обзор Neo4j
3.2. Моделирование графовых данных в Neo4j
3.2.1. Графовая модель свойств
3.2.2. Ограничения базы данных и индексы
3.3. Вопросы моделирования данных
3.3.1. Узел и свойство
3.3.2. Узел и отношение
3.3.3. Индексы
3.3.4. Специфика типов отношений
3.3.5. Выбор направления отношений
3.4. Инструменты: Neo4j Desktop
3.5. Инструменты: Neo4j Browser
3.6. Cypher
3.6.1. Сопоставление с образцом
3.6.2. Свойства
3.6.3. CREATE
3.6.4. MERGE
3.6.5. Определение ограничений на Cypher
3.6.6. MATCH
3.6.7. Агрегаты
3.7. Использование клиентских драйверов Neo4j
3.8. Упражнения
Итоги
Глава 4
Библиотека Neo4j GraphQL
4.1. Распространенные проблемы GraphQL
4.1.1. Низкая производительность и проблема n + 1 запроса
4.1.2. Типовой код и продуктивность разработчиков
4.2. Введение в средства интеграции GraphQL с базой данных
4.3. Библиотека Neo4j GraphQL
4.3.1. Настройка проекта
4.3.2. Генерирование схемы GraphQL из определений типов
4.4. Основы запросов GraphQL
4.5. Упорядочение и разбиение на страницы
4.6. Вложенные запросы
4.7. Фильтрация
4.7.1. Аргумент where
4.7.2. Вложенные фильтры
4.7.3. Логические операторы: AND, OR
4.7.4. Фильтрация выборки
4.8. Работа с датой/временем
4.8.1. Использование типа Date в запросах
4.8.2. Фильтры по полям с типами Date и DateTime
4.9. Работа с пространственными данными
4.9.1. Выборка данных типа Point
4.9.2. Фильтрация по расстояниям
4.10. Добавление своей логики в GraphQL API
4.10.1. Директива @cypher
4.10.2. Реализация собственных функций разрешения
4.11. Определение схемы GraphQL в существующей базе данных
4.12. Упражнения
Итоги
Часть II
Создание пользовательского интерфейса
Глава 5
Создание пользовательского интерфейса с помощью React
5.1. Обзор React
5.1.1. JSX и элементы React
5.1.2. Компоненты React
5.1.3. Иерархия компонентов
5.2. Create React App
5.2.1. Создание приложения React с помощью Create React App
5.3. Состояние и подключаемые обработчики React Hooks
5.4. Упражнения
Итоги
Глава 6
Клиент GraphQL
6.1. Apollo Client
6.1.1. Добавление Apollo Client в приложение React
6.1.2. Обработчики Apollo Client
6.1.3. Переменные GraphQL
6.1.4. Фрагменты GraphQL
6.1.5. Кеширование в Apollo Client
6.2. Мутации GraphQL
6.2.1. Создание узлов
6.2.2. Создание отношений
6.2.3. Изменение и удаление
6.3. Управление состоянием клиента с помощью GraphQL
6.3.1. Локальные поля и реактивные переменные
6.4. Упражнения
Итоги
Часть III
Задачи разработки полного цикла
Глава 7
Добавление авторизации и аутентификации
7.1. Авторизация в GraphQL: простейший подход
7.2. Веб-токены JSON Web Token
7.3. Директива схемы @auth
7.3.1. Правила и операции
7.3.2. Правило авторизации isAuthenticated
7.3.3. Правило авторизации roles
7.3.4 Правило авторизации allow
7.3.5. Правило авторизации where
7.3.6. Правило авторизации bind
7.4. Auth0: JWT как услуга
7.4.1. Настройка Auth0
7.4.2. Auth0 React
7.5. Упражнения
Итоги
Глава 8
Развертывание приложения GraphQL
8.1. Развертывание приложения GraphQL
8.1.1. Преимущества развертывания в бессерверном окружении
8.1.2. Недостатки развертывания в бессерверном окружении
8.1.3. Обзор подхода к развертыванию приложения GraphQL в бессерверном окружении
8.2. База данных Neo4j Aura как услуга
8.2.1. Создание кластера Neo4j Aura
8.2.2. Подключение к кластеру Neo4j Aura
8.2.3. Выгрузка данных в Neo4j Aura
8.2.4. Исследование графа с помощью Neo4j Bloom
8.3. Развертывание приложения React с помощью Netlify Build
8.3.1. Добавление сайта в Netlify
8.3.2. Настройка переменных окружения для сборок Netlify
8.3.3. Предварительное развертывание в Netlify
8.4. Развертывание GraphQL в виде бессерверной функции с помощью AWS Lambda и Netlify Functions
8.4.1. GraphQL API в виде бессерверной функции
8.4.2. dev: интерфейс командной строки Netlify
8.4.3. Преобразование GraphQL API в функцию Netlify
8.4.4. Добавление собственного домена в Netlify
8.5. Наш подход к развертыванию
8.6. Упражнения
Итоги
Глава 9
Продвинутые возможности GraphQL
9.1. Абстрактные типы GraphQL
9.1.1. Интерфейсы
9.1.2. Объединения
9.1.3. Использование абстрактных типов с библиотекой Neo4j GraphQL
9.2. Разбиение на страницы с помощью GraphQL
9.2.1. Разбиение на страницы по смещению
9.2.2. Разбиение на страницы с помощью курсора
9.3. Свойства отношений
9.3.1. Интерфейсы и директива @relationship
9.3.2. Создание свойств отношений
9.4. В заключение
9.5. Упражнения
Итоги
Предметный указатель
Вступление
Благодарности
О книге
Кому адресована эта книга
Организация книги
О примерах программного кода
Требования к программному обеспечению
Живое обсуждение книги
Другие онлайн-ресурсы
Об авторе
Об иллюстрации на обложке
Часть I. Введение в стек GraphQL
Глава 1
Что такое стек GraphQL?
1.1. Обзор стека GraphQL
1.2. GraphQL
1.2.1. Определения типов в GraphQL
1.2.2. Запросы GraphQL
1.2.3. Преимущества GraphQL
1.2.4. Недостатки GraphQL
1.2.5. Инструменты GraphQL
1.3. React
1.3.1. Компоненты React
1.3.2. JSX
1.3.3. Инструменты React
1.4. Apollo
1.4.1. Apollo Server
1.4.2. Apolo Client
1.5. База данных Neo4j
1.5.1. Графовая модель свойств
1.5.2. Язык запросов Cypher
1.5.3. Инструменты Neo4j
1.6. Как все это сочетается
1.6.1. React и Apollo Client: выполнение запроса
1.6.2. Apollo Server и серверная часть GraphQL
1.6.3. React и Apollo Client: обработка ответа
1.7. Что мы будем строить в этой книге
1.8. Упражнения
Итоги
Глава 2
Графовое мышление с GraphQL
2.1. Данные приложения – это граф
2.2. Графы в GraphQL
2.2.1. Моделирование API с применением определений типов: разработка на основе GraphQL
2.2.2. Выборка данных с помощью функций разрешения
2.2.3. Наша первая функция разрешения
2.3. Объединение определений типов и функций разрешения в Apollo Server
2.3.1. Apollo Server
2.3.2. Apollo Studio
2.3.3. Реализация функций разрешения
2.3.4. Выполнение запросов с помощью Apollo Studio
2.4. Упражнения
Итоги
Глава 3
Графы в базе данных
3.1. Обзор Neo4j
3.2. Моделирование графовых данных в Neo4j
3.2.1. Графовая модель свойств
3.2.2. Ограничения базы данных и индексы
3.3. Вопросы моделирования данных
3.3.1. Узел и свойство
3.3.2. Узел и отношение
3.3.3. Индексы
3.3.4. Специфика типов отношений
3.3.5. Выбор направления отношений
3.4. Инструменты: Neo4j Desktop
3.5. Инструменты: Neo4j Browser
3.6. Cypher
3.6.1. Сопоставление с образцом
3.6.2. Свойства
3.6.3. CREATE
3.6.4. MERGE
3.6.5. Определение ограничений на Cypher
3.6.6. MATCH
3.6.7. Агрегаты
3.7. Использование клиентских драйверов Neo4j
3.8. Упражнения
Итоги
Глава 4
Библиотека Neo4j GraphQL
4.1. Распространенные проблемы GraphQL
4.1.1. Низкая производительность и проблема n + 1 запроса
4.1.2. Типовой код и продуктивность разработчиков
4.2. Введение в средства интеграции GraphQL с базой данных
4.3. Библиотека Neo4j GraphQL
4.3.1. Настройка проекта
4.3.2. Генерирование схемы GraphQL из определений типов
4.4. Основы запросов GraphQL
4.5. Упорядочение и разбиение на страницы
4.6. Вложенные запросы
4.7. Фильтрация
4.7.1. Аргумент where
4.7.2. Вложенные фильтры
4.7.3. Логические операторы: AND, OR
4.7.4. Фильтрация выборки
4.8. Работа с датой/временем
4.8.1. Использование типа Date в запросах
4.8.2. Фильтры по полям с типами Date и DateTime
4.9. Работа с пространственными данными
4.9.1. Выборка данных типа Point
4.9.2. Фильтрация по расстояниям
4.10. Добавление своей логики в GraphQL API
4.10.1. Директива @cypher
4.10.2. Реализация собственных функций разрешения
4.11. Определение схемы GraphQL в существующей базе данных
4.12. Упражнения
Итоги
Часть II
Создание пользовательского интерфейса
Глава 5
Создание пользовательского интерфейса с помощью React
5.1. Обзор React
5.1.1. JSX и элементы React
5.1.2. Компоненты React
5.1.3. Иерархия компонентов
5.2. Create React App
5.2.1. Создание приложения React с помощью Create React App
5.3. Состояние и подключаемые обработчики React Hooks
5.4. Упражнения
Итоги
Глава 6
Клиент GraphQL
6.1. Apollo Client
6.1.1. Добавление Apollo Client в приложение React
6.1.2. Обработчики Apollo Client
6.1.3. Переменные GraphQL
6.1.4. Фрагменты GraphQL
6.1.5. Кеширование в Apollo Client
6.2. Мутации GraphQL
6.2.1. Создание узлов
6.2.2. Создание отношений
6.2.3. Изменение и удаление
6.3. Управление состоянием клиента с помощью GraphQL
6.3.1. Локальные поля и реактивные переменные
6.4. Упражнения
Итоги
Часть III
Задачи разработки полного цикла
Глава 7
Добавление авторизации и аутентификации
7.1. Авторизация в GraphQL: простейший подход
7.2. Веб-токены JSON Web Token
7.3. Директива схемы @auth
7.3.1. Правила и операции
7.3.2. Правило авторизации isAuthenticated
7.3.3. Правило авторизации roles
7.3.4 Правило авторизации allow
7.3.5. Правило авторизации where
7.3.6. Правило авторизации bind
7.4. Auth0: JWT как услуга
7.4.1. Настройка Auth0
7.4.2. Auth0 React
7.5. Упражнения
Итоги
Глава 8
Развертывание приложения GraphQL
8.1. Развертывание приложения GraphQL
8.1.1. Преимущества развертывания в бессерверном окружении
8.1.2. Недостатки развертывания в бессерверном окружении
8.1.3. Обзор подхода к развертыванию приложения GraphQL в бессерверном окружении
8.2. База данных Neo4j Aura как услуга
8.2.1. Создание кластера Neo4j Aura
8.2.2. Подключение к кластеру Neo4j Aura
8.2.3. Выгрузка данных в Neo4j Aura
8.2.4. Исследование графа с помощью Neo4j Bloom
8.3. Развертывание приложения React с помощью Netlify Build
8.3.1. Добавление сайта в Netlify
8.3.2. Настройка переменных окружения для сборок Netlify
8.3.3. Предварительное развертывание в Netlify
8.4. Развертывание GraphQL в виде бессерверной функции с помощью AWS Lambda и Netlify Functions
8.4.1. GraphQL API в виде бессерверной функции
8.4.2. dev: интерфейс командной строки Netlify
8.4.3. Преобразование GraphQL API в функцию Netlify
8.4.4. Добавление собственного домена в Netlify
8.5. Наш подход к развертыванию
8.6. Упражнения
Итоги
Глава 9
Продвинутые возможности GraphQL
9.1. Абстрактные типы GraphQL
9.1.1. Интерфейсы
9.1.2. Объединения
9.1.3. Использование абстрактных типов с библиотекой Neo4j GraphQL
9.2. Разбиение на страницы с помощью GraphQL
9.2.1. Разбиение на страницы по смещению
9.2.2. Разбиение на страницы с помощью курсора
9.3. Свойства отношений
9.3.1. Интерфейсы и директива @relationship
9.3.2. Создание свойств отношений
9.4. В заключение
9.5. Упражнения
Итоги
Предметный указатель
备用描述
Эта книга научит вас создавать графовые веб-приложения с использованием технологии GraphQL, преимущества которой усиливают такие графовые инструменты и хранилища данных, как React, Apollo и Neo4j. Вначале вы познакомитесь с GraphQL и собственно с понятием графов, затем сосредоточитесь на разработке клиентского приложения с использованием React и, наконец, создадите и развернете в облаке полноценное веб-приложение, поддерживающее поиск, аутентификацию и многое другое.
Издание предназначено для веб-разработчиков полного цикла, заинтересованных в технологии GraphQL и имеющих базовое представление о Node.js API и особенностях клиентских приложений на JavaScript, использующих этот API. Опыт работы с GraphQL или графовыми базами данных не обязателен.
Издание предназначено для веб-разработчиков полного цикла, заинтересованных в технологии GraphQL и имеющих базовое представление о Node.js API и особенностях клиентских приложений на JavaScript, использующих этот API. Опыт работы с GraphQL или графовыми базами данных не обязателен.
开源日期
2023-01-28
We strongly recommend that you support the author by buying or donating on their personal website, or borrowing in your local library.
🚀 快速下载
成为会员以支持书籍、论文等的长期保存。为了感谢您对我们的支持,您将获得高速下载权益。❤️
如果您在本月捐款,您将获得双倍的快速下载次数。
🐢 低速下载
由可信的合作方提供。 更多信息请参见常见问题解答。 (可能需要验证浏览器——无限次下载!)
- 低速服务器(合作方提供) #1 (稍快但需要排队)
- 低速服务器(合作方提供) #2 (稍快但需要排队)
- 低速服务器(合作方提供) #3 (稍快但需要排队)
- 低速服务器(合作方提供) #4 (稍快但需要排队)
- 低速服务器(合作方提供) #5 (无需排队,但可能非常慢)
- 低速服务器(合作方提供) #6 (无需排队,但可能非常慢)
- 低速服务器(合作方提供) #7 (无需排队,但可能非常慢)
- 低速服务器(合作方提供) #8 (无需排队,但可能非常慢)
- 低速服务器(合作方提供) #9 (无需排队,但可能非常慢)
- 下载后: 在我们的查看器中打开
所有选项下载的文件都相同,应该可以安全使用。即使这样,从互联网下载文件时始终要小心。例如,确保您的设备更新及时。
外部下载
-
对于大文件,我们建议使用下载管理器以防止中断。
推荐的下载管理器:JDownloader -
您将需要一个电子书或 PDF 阅读器来打开文件,具体取决于文件格式。
推荐的电子书阅读器:Anna的档案在线查看器、ReadEra和Calibre -
使用在线工具进行格式转换。
推荐的转换工具:CloudConvert和PrintFriendly -
您可以将 PDF 和 EPUB 文件发送到您的 Kindle 或 Kobo 电子阅读器。
推荐的工具:亚马逊的“发送到 Kindle”和djazz 的“发送到 Kobo/Kindle” -
支持作者和图书馆
✍️ 如果您喜欢这个并且能够负担得起,请考虑购买原版,或直接支持作者。
📚 如果您当地的图书馆有这本书,请考虑在那里免费借阅。
下面的文字仅以英文继续。
总下载量:
“文件的MD5”是根据文件内容计算出的哈希值,并且基于该内容具有相当的唯一性。我们这里索引的所有影子图书馆都主要使用MD5来标识文件。
一个文件可能会出现在多个影子图书馆中。有关我们编译的各种数据集的信息,请参见数据集页面。
有关此文件的详细信息,请查看其JSON 文件。 Live/debug JSON version. Live/debug page.