mirror of
https://github.com/kamranahmedse/developer-roadmap.git
synced 2026-03-12 17:51:53 +08:00
chore: sync content to repo (#9254)
Co-authored-by: kamranahmedse <4921183+kamranahmedse@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
ef63bce224
commit
353cbf1664
@@ -2,6 +2,6 @@
|
||||
|
||||
Aliases in GraphQL rename fields in query responses, useful when requesting the same field multiple times with different arguments or when field names aren't suitable for client usage. They distinguish fields in responses and improve query readability and usability.
|
||||
|
||||
To learn more, visit the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@What are GraphQL Aliases?](https://graphql.org/learn/queries/#aliases)
|
||||
- [@official@What are GraphQL Aliases?](https://graphql.org/learn/queries/#aliases)
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
Apollo Client is a popular GraphQL client library for JavaScript that provides data fetching, caching, and state management. It offers declarative data fetching with React hooks, intelligent caching, optimistic UI updates, and error handling for building efficient GraphQL-powered applications.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@article@Why Apollo Client - Frontend?](https://www.howtographql.com/react-apollo/0-introduction/)
|
||||
- [@feed@Explore top posts about Apollo](https://app.daily.dev/tags/apollo?ref=roadmapsh)
|
||||
- [@feed@Explore top posts about Apollo](https://app.daily.dev/tags/apollo?ref=roadmapsh)
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
Apollo Server is a popular open-source library for building GraphQL servers in JavaScript. It provides tools for parsing, validating, executing resolvers, and formatting responses with built-in features for authentication, authorization, data validation, and real-time subscriptions.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@article@Apollo Tutorial - Introduction](https://www.howtographql.com/react-apollo/0-introduction/)
|
||||
- [@feed@Explore top posts about Apollo](https://app.daily.dev/tags/apollo?ref=roadmapsh)
|
||||
- [@feed@Explore top posts about Apollo](https://app.daily.dev/tags/apollo?ref=roadmapsh)
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
Arguments in GraphQL are values passed to fields in queries and mutations to filter or modify returned data. They're defined in the schema with a name, type, and optional default value, enabling dynamic data retrieval.
|
||||
|
||||
To learn more, visit the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Get started with Arguments in GraphQL](https://graphql.org/learn/schema/#arguments)
|
||||
- [@official@Get started with Arguments in GraphQL](https://graphql.org/learn/schema/#arguments)
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
Arguments in GraphQL are values passed to fields or directives to specify execution details like filtering, sorting, pagination, or configuration options. They're passed as key-value pairs, can be defined as variables, and may be optional or required depending on the field definition.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@GraphQL - Arguments](https://graphql.org/learn/queries/#arguments)
|
||||
- [@official@GraphQL - Arguments](https://graphql.org/learn/queries/#arguments)
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
Asynchronous resolvers in GraphQL are functions that return promises instead of immediate values. They allow resolvers to wait for external operations like database queries or API calls to complete before returning results, enabling non-blocking execution.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Get Started with Asynchronous](https://graphql.org/learn/execution/#asynchronous-resolvers)
|
||||
- [@official@Get Started with Asynchronous](https://graphql.org/learn/execution/#asynchronous-resolvers)
|
||||
@@ -4,11 +4,11 @@ Authorization in GraphQL controls access to data and operations based on user pe
|
||||
|
||||
There are several ways to implement authorization in GraphQL:
|
||||
|
||||
- Using middleware
|
||||
- Using schema directives
|
||||
- Using a data source layer
|
||||
* Using middleware
|
||||
* Using schema directives
|
||||
* Using a data source layer
|
||||
|
||||
To learn more, visit the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Get Started with Authorization](https://graphql.org/learn/authorization/)
|
||||
- [@feed@Explore top posts about Authorization](https://app.daily.dev/tags/authorization?ref=roadmapsh)
|
||||
- [@feed@Explore top posts about Authorization](https://app.daily.dev/tags/authorization?ref=roadmapsh)
|
||||
@@ -4,11 +4,11 @@ Authorization in GraphQL refers to the process of controlling access to specific
|
||||
|
||||
There are several ways to implement authorization in GraphQL:
|
||||
|
||||
- Using middleware
|
||||
- Using schema directives
|
||||
- Using a data source layer
|
||||
* Using middleware
|
||||
* Using schema directives
|
||||
* Using a data source layer
|
||||
|
||||
To learn more, visit the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Get Started with Authorization](https://graphql.org/learn/authorization/)
|
||||
- [@feed@Explore top posts about Authorization](https://app.daily.dev/tags/authorization?ref=roadmapsh)
|
||||
- [@feed@Explore top posts about Authorization](https://app.daily.dev/tags/authorization?ref=roadmapsh)
|
||||
@@ -4,11 +4,11 @@ Authorization in GraphQL refers to the process of controlling access to specific
|
||||
|
||||
There are several ways to implement authorization in GraphQL:
|
||||
|
||||
- Using middleware
|
||||
- Using schema directives
|
||||
- Using a data source layer
|
||||
* Using middleware
|
||||
* Using schema directives
|
||||
* Using a data source layer
|
||||
|
||||
To learn more, visit the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Get Started with Authorization](https://graphql.org/learn/authorization/)
|
||||
- [@feed@Explore top posts about Authorization](https://app.daily.dev/tags/authorization?ref=roadmapsh)
|
||||
- [@feed@Explore top posts about Authorization](https://app.daily.dev/tags/authorization?ref=roadmapsh)
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
Batching in GraphQL combines multiple queries into a single request to reduce network overhead and improve performance. DataLoader is a common pattern that batches and caches database requests, preventing N+1 query problems and optimizing data fetching efficiency.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@opensource@DataLoader](https://github.com/graphql/dataloader)
|
||||
- [@article@Solving the N+1 Problem](https://shopify.engineering/solving-the-n-1-problem-for-graphql-through-batching)
|
||||
- [@article@Solving the N+1 Problem](https://shopify.engineering/solving-the-n-1-problem-for-graphql-through-batching)
|
||||
@@ -4,10 +4,10 @@ Caching in GraphQL improves performance by storing query results for reuse. Stra
|
||||
|
||||
There are several types of caching that can be used in GraphQL:
|
||||
|
||||
- Client-side caching
|
||||
- Server-side caching
|
||||
- CDN caching
|
||||
* Client-side caching
|
||||
* Server-side caching
|
||||
* CDN caching
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Get started with Caching](https://graphql.org/learn/caching/)
|
||||
- [@official@Get started with Caching](https://graphql.org/learn/caching/)
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
Defer and Stream directives are experimental GraphQL features for incremental data delivery. @defer postpones non-critical fields to improve initial response times, while @stream sends list items progressively, enabling better user experiences with large datasets and slow-loading fields.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@article@Defer and Stream in GraphQL](https://the-guild.dev/graphql/yoga-server/docs/features/defer-stream)
|
||||
- [@article@Defer and Stream in GraphQL](https://the-guild.dev/graphql/yoga-server/docs/features/defer-stream)
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
Directives in GraphQL modify query execution by adding behavior or validation to fields, operations, and fragments. They can take arguments to configure behavior and include built-in directives like @include and @skip, or custom ones defined by developers for specific functionality.
|
||||
|
||||
To learn more, visit the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Directives in GraphQL](https://graphql.org/learn/queries/#directives)
|
||||
- [@official@Directives in GraphQL](https://graphql.org/learn/queries/#directives)
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
Enums (enumeration types) are special scalars restricted to a particular set of allowed values. They validate arguments against allowed values and communicate through the type system that fields will always be one of a finite set of predefined options.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@What are Enums?](https://graphql.org/learn/schema/#enumeration-types)
|
||||
- [@official@What are Enums?](https://graphql.org/learn/schema/#enumeration-types)
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
Event-based subscriptions in GraphQL provide real-time updates by subscribing to specific events or data changes. Clients maintain persistent connections through WebSockets to receive live updates when subscribed events occur, enabling reactive applications with real-time functionality.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@article@GraphQL Subscriptions](https://the-guild.dev/blog/subscriptions-and-live-queries-real-time-with-graphql)
|
||||
- [@official@GraphQL Subscriptions Documentation](https://graphql.org/blog/subscriptions-in-graphql-and-relay/)
|
||||
- [@article@GraphQL Subscriptions](https://the-guild.dev/blog/subscriptions-and-live-queries-real-time-with-graphql)
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
Execution in GraphQL is the process of running queries or mutations and returning results to clients. The GraphQL engine performs parsing, validation, and data retrieval steps to produce the final response, coordinating resolver functions to fetch data from various sources.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Get Started with Execution in GraphQL](https://graphql.org/learn/execution/)
|
||||
- [@official@Intro to Execution](https://graphql.org/graphql-js/execution/)
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
Fields in GraphQL are units of data that can be queried or manipulated. Each field has a name, type, and optional description, and can return scalar values or objects, enabling complex nested data structures and taking arguments for filtering.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@GraphQL: Types and Fields](https://graphql.org/learn/queries/#fields)
|
||||
- [@official@GraphQL: Types and Fields](https://graphql.org/learn/queries/#fields)
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
Fields in GraphQL are individual pieces of data that can be queried or modified, representing properties of the requested data. They're defined in the GraphQL schema and serve as building blocks for queries and mutations, specifying what data is available for each type.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@GraphQL: Types and Fields](https://graphql.org/learn/queries/#fields)
|
||||
- [@official@GraphQL: Types and Fields](https://graphql.org/learn/queries/#fields)
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
Fragments in GraphQL are reusable pieces of queries that retrieve specific fields from one or more types. Defined with the "fragment" keyword, they promote code reuse, reduce duplication, and make complex queries more maintainable by separating common field selections.
|
||||
|
||||
To learn more, visit the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Intro to Fragments in GraphQL](https://graphql.org/learn/queries/#fragments)
|
||||
- [@official@Intro to Fragments in GraphQL](https://graphql.org/learn/queries/#fragments)
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
GraphQL Go refers to implementing GraphQL servers and clients using the Go programming language. Popular libraries include graphql-go/graphql for schema-first development and 99designs/gqlgen for code-first generation. Go's strong typing and performance make it excellent for building scalable GraphQL APIs.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@opensource@graphql-go/graphql](https://github.com/graphql-go/graphql)
|
||||
- [@opensource@99designs/gqlgen](https://github.com/99designs/gqlgen)
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
GraphQL over HTTP is a specification that defines how GraphQL queries and mutations should be transported over HTTP. It standardizes request/response formats, HTTP methods, status codes, and headers, ensuring consistent GraphQL API communication across different implementations.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@GraphQL over HTTP Specification](https://graphql.github.io/graphql-over-http/)
|
||||
- [@opensource@graphql-http Library](https://github.com/graphql/graphql-http)
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
GraphQL HTTP is a specification for serving GraphQL over HTTP protocol. It defines standard methods for sending queries and mutations, primarily using POST requests with JSON payloads in the request body, and receiving results in the response body.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Overview of GraphQL HTTP](https://graphql.org/graphql-js/express-graphql/#graphqlhttp)
|
||||
- [@official@Get Started with GraphQL HTTP](https://graphql.org/learn/serving-over-http/)
|
||||
- [@feed@Explore top posts about GraphQL](https://app.daily.dev/tags/graphql?ref=roadmapsh)
|
||||
- [@feed@Explore top posts about GraphQL](https://app.daily.dev/tags/graphql?ref=roadmapsh)
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
GraphQL Java is a popular library for implementing GraphQL APIs in Java applications. It provides schema-first development capabilities, runtime query execution, and integrates well with Spring Boot and other Java frameworks, making it a solid choice for enterprise GraphQL implementations.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@GraphQL Java Repository](https://github.com/graphql-java/graphql-java)
|
||||
- [@article@GraphQL Java Documentation](https://www.graphql-java.com/)
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
GraphQL on the backend involves implementing servers that execute GraphQL queries, mutations, and subscriptions. It includes defining schemas, writing resolvers, handling data sources, implementing authentication/authorization, and optimizing performance through caching and batching strategies.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@article@How to use GraphQL in Backend?](https://www.howtographql.com/)
|
||||
- [@feed@Explore top posts about Backend Development](https://app.daily.dev/tags/backend?ref=roadmapsh)
|
||||
- [@feed@Explore top posts about Backend Development](https://app.daily.dev/tags/backend?ref=roadmapsh)
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
GraphQL on the frontend enables efficient data fetching with clients like Apollo, URQL, or Relay. It provides declarative data requirements, intelligent caching, real-time subscriptions, and type safety, allowing frontend applications to request exactly the data they need in a single query.
|
||||
|
||||
Learn more from following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@article@Get started with GraphQL on the frontend](https://www.howtographql.com/react-apollo/0-introduction/)
|
||||
- [@feed@Explore top posts about Frontend Development](https://app.daily.dev/tags/frontend?ref=roadmapsh)
|
||||
- [@feed@Explore top posts about Frontend Development](https://app.daily.dev/tags/frontend?ref=roadmapsh)
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
GraphQL queries are client requests to retrieve specific data from a server. They specify exactly which fields should be returned, using a hierarchical structure that matches the data requirements. Queries are written in GraphQL syntax and executed by the server to fetch the requested data.
|
||||
|
||||
To learn more, visit the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@What are GraphQL Queries?](https://graphql.org/learn/queries/)
|
||||
- [@feed@Explore top posts about GraphQL](https://app.daily.dev/tags/graphql?ref=roadmapsh)
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
GraphQL Yoga is an open-source GraphQL server library for Node.js built on Express.js. It provides minimal boilerplate setup with built-in authentication, authorization, data validation, and subscription support for real-time updates, making GraphQL server development streamlined.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@article@GraphQL Armor - for Yoga Server 2](https://the-guild.dev/blog/improved-security-with-graphql-armor-support-for-yoga-server-2)
|
||||
- [@feed@Explore top posts about GraphQL](https://app.daily.dev/tags/graphql?ref=roadmapsh)
|
||||
- [@feed@Explore top posts about GraphQL](https://app.daily.dev/tags/graphql?ref=roadmapsh)
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
GraphQL.js is the reference implementation of GraphQL for JavaScript and Node.js. It provides the core functionality for parsing, validating, and executing GraphQL queries, serving as the foundation for many other GraphQL tools and libraries in the JavaScript ecosystem.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@GraphQL.js Repository](https://github.com/graphql/graphql-js)
|
||||
- [@official@GraphQL.js Documentation](https://graphql.org/graphql-js/)
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
Interfaces in GraphQL define a set of fields that implementing types must include. They enable polymorphism by allowing common field querying across different types that implement the same interface, promoting code reuse and consistent API design.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Get started with Interfaces](https://graphql.org/learn/schema/#interfaces)
|
||||
- [@official@Get started with Interfaces](https://graphql.org/learn/schema/#interfaces)
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
GraphQL is a query language and runtime for APIs that enables clients to request exactly the data they need in a single call. It provides a predictable format, reducing multiple API calls and eliminating over-fetching, making data retrieval more efficient than traditional REST APIs.
|
||||
|
||||
To learn more, visit the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Introduction to GraphQL](https://graphql.org/learn/)
|
||||
- [@official@Getting started with GraphQL](https://graphql.org/)
|
||||
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
Lists in GraphQL represent ordered collections of items, defined using square brackets around the item type. They can contain scalars, objects, or other lists, enabling complex nested data structures and array-based field returns in schemas.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Get started with Lists](https://graphql.org/learn/schema/#lists-and-non-null)
|
||||
- [@official@Get started with Lists](https://graphql.org/learn/schema/#lists-and-non-null)
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
Lists in GraphQL represent ordered collections of items and can be used as return types for fields. They can contain any type of items including scalars and objects, with resolver functions typically returning data as arrays from databases or APIs.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Get started with Lists and Non-Null](https://graphql.org/learn/schema/#lists-and-non-null)
|
||||
- [@official@Get started with Lists and Non-Null](https://graphql.org/learn/schema/#lists-and-non-null)
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
Live Queries automatically update query results when underlying data changes, providing real-time synchronization without manual subscription management. This advanced feature simplifies building reactive applications by maintaining fresh data automatically, though it requires specialized GraphQL implementations.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@article@GraphQL Live Queries](https://the-guild.dev/blog/collecting-graphql-live-query-resource-identifier-with-graphql-tools)
|
||||
- [@article@GraphQL Live Queries](https://the-guild.dev/blog/collecting-graphql-live-query-resource-identifier-with-graphql-tools)
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
Mercurius is a high-performance GraphQL server library for Fastify, offering excellent performance and minimal memory usage. It provides schema-first development, built-in caching, subscriptions support, and integration with Fastify's ecosystem for building fast, scalable GraphQL APIs.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@opensource@Mercurius Repository](https://github.com/mercurius-js/mercurius)
|
||||
- [@article@Mercurius Documentation](https://mercurius.dev/)
|
||||
- [@article@Mercurius Documentation](https://mercurius.dev/)
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
GraphQL allows multiple mutations in a single query by including multiple mutation fields, called batching or chaining mutations. This enables performing several data modifications atomically, improving efficiency and ensuring consistent state changes across related operations.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Guide to Multiple fields in mutations](https://graphql.org/learn/mutations/#multiple-fields-in-mutations)
|
||||
- [@official@Guide to Multiple fields in mutations](https://graphql.org/learn/mutations/#multiple-fields-in-mutations)
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
Mutations in GraphQL are used to modify data on the server, including creating, updating, or deleting records. They're structured like queries but use the "mutation" field at the top level and include fields specifying the data to be changed and the operation type.
|
||||
|
||||
To learn more, visit the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Getting started with Mutations](https://graphql.org/learn/queries/#mutations)
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
Objects in GraphQL are types that represent groups of fields, defining the structure of queries and mutations. Each field can return scalar values or other objects, enabling complex nested data structures. Objects are defined using the "type" keyword followed by the name and field definitions.
|
||||
|
||||
To learn more, visit the following:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Object Types and Fields](https://graphql.org/learn/schema/#object-types-and-fields)
|
||||
- [@official@Object Types](https://graphql.org/graphql-js/object-types/)
|
||||
- [@official@Object Types](https://graphql.org/graphql-js/object-types/)
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
Operation names are optional identifiers for GraphQL queries and mutations that help uniquely identify operations in documents with multiple operations. They provide meaningful names for operations, improve debugging, and make error identification easier in complex applications.
|
||||
|
||||
Learn more from the following resources:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Intro to Operation Name](https://graphql.org/learn/queries/#operation-name)
|
||||
- [@official@Intro to Operation Name](https://graphql.org/learn/queries/#operation-name)
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
Pagination in GraphQL handles large datasets by breaking them into smaller chunks. Common approaches include cursor-based pagination (using cursors for stable pagination) and offset-based pagination (using skip/take), with cursor-based being preferred for performance and consistency.
|
||||
|
||||
To learn more, visit the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Get Started with Pagination](https://graphql.org/learn/pagination/)
|
||||
- [@official@Get Started with Pagination](https://graphql.org/learn/pagination/)
|
||||
@@ -1,3 +1,3 @@
|
||||
# Problems GraphQL Solves
|
||||
|
||||
GraphQL solves major API problems including over-fetching (getting unnecessary data), under-fetching (multiple requests needed), inefficient versioning, and lack of flexibility. It enables precise data requests, single queries for multiple resources, seamless versioning through schema evolution, and microservice communication through federation.
|
||||
GraphQL solves major API problems including over-fetching (getting unnecessary data), under-fetching (multiple requests needed), inefficient versioning, and lack of flexibility. It enables precise data requests, single queries for multiple resources, seamless versioning through schema evolution, and microservice communication through federation.
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
Producing the result in GraphQL involves generating the final response to queries and mutations. This process includes parsing the request, validating against the schema, executing resolvers to fetch data, and formatting the response according to the query requirements.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Get Started with GraphQL](https://graphql.org/learn/)
|
||||
- [@official@Get Started with GraphQL](https://graphql.org/learn/)
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
Realtime GraphQL enables live data updates through subscriptions, allowing clients to receive instant notifications when data changes. Implemented using WebSockets, Server-Sent Events, or polling, it's essential for chat applications, live feeds, and collaborative tools requiring immediate data synchronization.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@article@Get Started with Real Time with GraphQL](https://the-guild.dev/blog/subscriptions-and-live-queries-real-time-with-graphql)
|
||||
- [@article@Get Started with Real Time with GraphQL](https://the-guild.dev/blog/subscriptions-and-live-queries-real-time-with-graphql)
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
Relay is Facebook's GraphQL client designed for React applications, emphasizing performance and data consistency. It uses a declarative approach with fragments, automatic query optimization, pagination handling, and strict conventions for building scalable, efficient GraphQL applications.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@article@GraphQL Code Generator & Relay Compiler](https://the-guild.dev/blog/graphql-codegen-relay-compiler)
|
||||
- [@article@GraphQL Code Generator & Relay Compiler](https://the-guild.dev/blog/graphql-codegen-relay-compiler)
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
Resolvers are functions responsible for fetching data for each field in GraphQL queries and mutations. Defined in the schema and executed by the GraphQL server, they retrieve data from databases, APIs, or other sources and return it to clients.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@article@Guide to Resolver](https://the-guild.dev/blog/better-type-safety-for-resolvers-with-graphql-codegen)
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
Root fields are the top-level fields available to clients in GraphQL queries and mutations. They serve as entry points for client requests, with Query fields for retrieving data and Mutation fields for modifying data on the server.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Get Started with Root Feilds](https://graphql.org/learn/execution/#root-fields-resolvers)
|
||||
- [@official@Get Started with Root Feilds](https://graphql.org/learn/execution/#root-fields-resolvers)
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
Scalar coercion in GraphQL converts input values from one type to another when they don't match the expected type but can be successfully converted. This process is implemented using custom scalar types with coerce functions that handle the type conversion.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Get started with Scalar coercion](https://graphql.org/learn/execution/#scalar-coercion)
|
||||
- [@official@Get started with Scalar coercion](https://graphql.org/learn/execution/#scalar-coercion)
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
Scalars are "leaf" values in GraphQL representing primitive data types. Built-in scalars include String, Int, Float, Boolean, and ID for unique identifiers. Custom scalars can be defined for specific needs like dates, JSON, or large integers, extending the type system beyond basic primitives.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Get started with Scalars in GraphQL](https://graphql.org/learn/schema/#scalar-types)
|
||||
- [@official@Get started with Scalars in GraphQL](https://graphql.org/learn/schema/#scalar-types)
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
Serving GraphQL over the internet involves making a GraphQL server accessible to clients through a public IP address or domain name. This can be done using reverse proxies, cloud services, or serverless functions to expose the GraphQL endpoint publicly.
|
||||
|
||||
To learn more, visit the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Introduction to Serving over HTTPs](https://graphql.org/learn/serving-over-http/)
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
The GraphQL specification is the official standard that defines the GraphQL query language, type system, execution algorithm, and validation rules. It ensures consistency across different GraphQL implementations and serves as the authoritative reference for developers building GraphQL services and tools.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@GraphQL Specification](https://spec.graphql.org/)
|
||||
- [@official@GraphQL Foundation](https://foundation.graphql.org/)
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
The GraphQL specification defines the core language, type system, execution model, and validation rules for GraphQL. Maintained by the GraphQL Foundation, it provides the technical foundation that all GraphQL implementations must follow to ensure interoperability and consistency across platforms.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@GraphQL Specification](https://spec.graphql.org/)
|
||||
- [@official@GraphQL Foundation](https://foundation.graphql.org/)
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
Subscriptions in GraphQL enable real-time updates by allowing clients to subscribe to specific events or data changes on the server. The server maintains an open connection and pushes updates to subscribed clients as soon as events occur or data changes.
|
||||
|
||||
Learn more from following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@article@Subscriptions and Live Queries - Real Time with GraphQL](https://the-guild.dev/blog/subscriptions-and-live-queries-real-time-with-graphql)
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
Synchronous resolvers in GraphQL execute immediately and return their results directly without waiting for external operations. They complete their execution before returning any value, making them simpler but potentially blocking if they perform complex computations.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@GraphQL Execution](https://graphql.org/learn/execution/)
|
||||
- [@article@Understanding Resolvers](https://www.apollographql.com/docs/apollo-server/data/resolvers/)
|
||||
- [@article@Understanding Resolvers](https://www.apollographql.com/docs/apollo-server/data/resolvers/)
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
"Thinking in Graphs" is a GraphQL mindset where data is organized as a graph with nodes (objects) and edges (relationships). This approach allows flexible and intuitive querying by following relationships between connected data points, making complex data retrieval more natural and efficient.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@GraphQL - Thinking in Graphs](https://graphql.org/learn/thinking-in-graphs/)
|
||||
- [@official@GraphQL - Thinking in Graphs](https://graphql.org/learn/thinking-in-graphs/)
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
GraphQL is strongly typed with a type system that defines data types available in applications. It includes Scalar, Object, Query, Mutation, and Enum types. The type system defines the schema, acting as a contract between client and server for predictable API interactions.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Get started with Type system](https://graphql.org/learn/schema/#type-system)
|
||||
- [@official@Get started with Type system](https://graphql.org/learn/schema/#type-system)
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
Unions allow fields to return multiple types, enabling different handling for various types in clients. They provide schema flexibility by grouping types together, though they don't allow common field querying across types like interfaces do.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Get started with Union in GraphQL](https://graphql.org/learn/schema/#union-types)
|
||||
- [@official@Get started with Union in GraphQL](https://graphql.org/learn/schema/#union-types)
|
||||
@@ -4,4 +4,4 @@ URQL is a lightweight, highly customizable GraphQL client for React, Vue, and Sv
|
||||
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@article@urql - Formidable Labs](https://formidable.com/open-source/urql/)
|
||||
- [@article@urql - Formidable Labs](https://formidable.com/open-source/urql/)
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
Validation in GraphQL ensures queries and mutations adhere to schema rules by verifying field access, type correctness, and input constraints. GraphQL servers validate all incoming operations before execution, returning errors for invalid queries with specific details about violations.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Get Started with Validation in GraphQL](https://graphql.org/learn/validation/)
|
||||
- [@official@Get Started with Validation in GraphQL](https://graphql.org/learn/validation/)
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
Validation in GraphQL ensures queries and mutations conform to schema rules and constraints. It checks for required fields, correct argument types, and value ranges before execution, preventing invalid operations and improving API reliability.
|
||||
|
||||
Learn more from the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Get Started with Validation in GraphQL](https://graphql.org/learn/validation/)
|
||||
- [@official@Get Started with Validation in GraphQL](https://graphql.org/learn/validation/)
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
Variables in GraphQL pass dynamic values to queries and mutations, making them flexible and reusable. Defined with the $ symbol and a type, their values are passed in a separate JSON object. Variables are type-safe, ensuring values match the defined types.
|
||||
|
||||
To learn more, visit the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@article@GraphQL Variables](https://dgraph.io/docs/graphql/api/variables/)
|
||||
- [@official@Intro to Variables in GraphQL](https://graphql.org/learn/queries/#variables)
|
||||
- [@article@GraphQL Variables](https://dgraph.io/docs/graphql/api/variables/)
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
Mutations in GraphQL are operations used to modify data on the server - creating, updating, or deleting records. They're structured like queries but use the "mutation" field at the top level and include fields specifying the data to be changed and the operation type.
|
||||
|
||||
Learn more from the following resources:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Get started with Mutations](https://graphql.org/learn/mutations/)
|
||||
- [@official@Get started with Mutations](https://graphql.org/learn/mutations/)
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
In GraphQL, queries are client requests to retrieve data from the server. They're structured as hierarchical trees of fields that correspond to the properties of the requested data, allowing clients to specify exactly what data they need in a predictable format.
|
||||
|
||||
Learn more from following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Introduction of GraphQL - Query](https://graphql.org/learn/queries/)
|
||||
- [@official@Introduction of GraphQL - Query](https://graphql.org/learn/queries/)
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
Subscriptions in GraphQL enable real-time updates by allowing clients to subscribe to specific events or data changes on the server. They're structured like queries with a "subscription" field at the top level and push updates to clients as soon as events occur.
|
||||
|
||||
To learn more, visit the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@article@How GraphQL Subscriptions Work?](https://the-guild.dev/blog/subscriptions-and-live-queries-real-time-with-graphql)
|
||||
- [@article@How GraphQL Subscriptions Work?](https://the-guild.dev/blog/subscriptions-and-live-queries-real-time-with-graphql)
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
GraphQL is a query language for APIs and server-side runtime that lets clients request exactly the data they need. Unlike REST, it uses a type system to define data structure and allows fetching multiple resources in a single request, reducing over-fetching and under-fetching problems.
|
||||
|
||||
To learn more, visit the following links:
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Introduction to graphQL](https://graphql.org/learn/)
|
||||
- [@article@Tutorial - What is graphQL?](https://www.howtographql.com/basics/0-introduction/)
|
||||
- [@feed@Explore top posts about GraphQL](https://app.daily.dev/tags/graphql?ref=roadmapsh)
|
||||
- [@feed@Explore top posts about GraphQL](https://app.daily.dev/tags/graphql?ref=roadmapsh)
|
||||
Reference in New Issue
Block a user