Skip to content

Commit d33079a

Browse files
feat: blog restructure
1 parent 4ea9ea4 commit d33079a

33 files changed

+368
-35
lines changed

blog/2023-graphql-conf-2023-09-29.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ slug: graphql-conf-2023
1010
canonical_url: https://tailcall.hashnode.dev/graphql-conf-2023
1111
---
1212

13-
![A Photo from GraphQL Conf 2023](../static/images/blog/graphql-conf-2023.png)
1413
GraphQLConf 2023 wasn't just another tech conference; it was a groundbreaking event hosted by the GraphQL Foundation. Bursting with riveting workshops, enlightening talks, and interactive sponsor booths, this conference was a deep dive into the ever-evolving world of GraphQL.
1514

1615
<!-- truncate -->

blog/api-orchestration-2023-06-12.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@ slug: no-one-talks-about-api-orchestration
1313
canonical_url: https://tailcall.hashnode.dev/no-one-talks-about-api-orchestration
1414
---
1515

16-
![bff-architecture.png](../static/images/blog/bff-architecture.png)
17-
1816
<!-- truncate -->
1917

2018
<head>

blog/automatic-persisted-queries-2023-08-11.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@ slug: the-truth-about-scaling-automatic-persisted-queries
1212
canonical_url: https://tailcall.hashnode.dev/the-truth-about-scaling-automatic-persisted-queries
1313
---
1414

15-
![Cover Image for The truth about scaling Automatic Persisted Queries](../static/images/blog/apq-cover.png)
16-
1715
Persisted queries are often hailed as a solution to several challenges in GraphQL related to network performance, caching, and maintenance. However, they may not always be the silver bullet they appear to be. This post delves into the concept of persisted queries (PQ) and automatic persisted queries (APQ), highlighting the limitations and potential scaling issues that accompany these technologies.
1816

1917
<!-- truncate -->

blog/bff-challenges-2023-06-19.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ slug: unraveling-the-challenges-of-bff-federation
1313
canonical_url: https://tailcall.hashnode.dev/unraveling-the-challenges-of-bff-federation
1414
---
1515

16-
![Cover Image for Unraveling the Challenges of BFF Federation](../static/images/blog/bff-cover.png)
1716
In our [previous](https://blog.tailcall.run/no-one-talks-about-api-orchestration) blog post, we discussed the challenges of API Orchestration and its often overlooked role in a microservices architecture. We explored how, while it serves as an abstraction for frontend apps and websites, this abstraction's performance is very sensitive to network latency and device performance thus directly impacting end-user experience. One proposed solution was to create a Backend for Frontend (BFF) layer, essentially moving the frontend abstraction to powerful servers within your VPC. Although this approach effectively addresses the user experience problem and simplifies the work of front-end engineers, it introduces a new set of challenges for the backend, leading to difficulties in scaling the monolithic solution. Here's what the BFF architecture looked like:
1817

1918
<!-- truncate -->

blog/graphql-angular-clients-2024-07-20.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@ slug: graphql-angular-client
1313
image: /images/blog/angular-with-graphql.png
1414
---
1515

16-
![Cover Image for Angular with GraphQL](../static/images/blog/angular-with-graphql.png)
17-
1816
Angular developers often face the challenge of efficiently fetching and managing data from GraphQL APIs. This comprehensive guide dives into five powerful approaches for integrating GraphQL into your Angular applications. We'll explore everything from full-featured client libraries to lightweight solutions, using a practical example of fetching post data to demonstrate each method's strengths and nuances.
1917

2018
<!-- truncate -->

blog/graphql-introspection-security-2024-7-12.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ tags: [GraphQL, Schema, Security, Introspection]
99
description: Learn how attackers exploit GraphQL introspection and the battle-tested strategies to keep your data safe.
1010
hide_table_of_contents: true
1111
slug: graphql-introspection-security
12+
image: /images/blog/introspection-issues.png
1213
---
1314

14-
![GraphQL Introspection Security Issues](../static/images/blog/introspection-issues.png)
1515
GraphQL has taken the API world by storm, offering developers a flexible and powerful way to interact with backend systems. But with great power comes great responsibility—especially when it comes to security.
1616

1717
<!-- truncate -->

blog/graphql-schema-2024-07-11.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@ hide_table_of_contents: true
1212
slug: graphql-schema
1313
---
1414

15-
![GraphQL Schema Structure](../static/images/graphql/graphql-schema-structure.png)
16-
1715
Designing a robust, scalable GraphQL schema is critical for building production-ready APIs that can evolve with your application's needs. In this comprehensive guide, we'll walk through the process of crafting a GraphQL schema for a real-world application, highlighting best practices and considerations along the way.
1816

1917
If you are thinking how we could possibly cover all of the lovely intricacies associated with this topic in one go, you are right, we can't and so we are not! We have created an amazing series to take you through the nuances of working with GraphQL schemas.

blog/graphql-schema-part-2-1-2024-07-21.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ hide_table_of_contents: true
1212
slug: graphql-schema-part-2-1
1313
---
1414

15+
<!-- truncate -->
16+
1517
import Quiz from "../src/components/quiz/quiz.tsx"
1618

1719
## What Do You Already Know? 🧠💫
@@ -74,8 +76,6 @@ import Quiz from "../src/components/quiz/quiz.tsx"
7476

7577
In our [previous post](/blog/graphql-schema), we learned scalable GraphQL schema is critical for building production-ready APIs that can evolve with your application's needs.
7678

77-
<!-- truncate -->
78-
7979
In this post, we will dive deeper into how to **continuously** evolve your schema to meet your application's changing requirements without hard-coded versioning.
8080

8181
## Adding Without Breaking: The Art of Additive Changes

blog/graphql-schema-part-2-2-2024-07-22.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ hide_table_of_contents: true
1212
slug: graphql-schema-part-2-2
1313
---
1414

15+
<!-- truncate -->
16+
1517
import Quiz from "../src/components/quiz/quiz.tsx"
1618

1719
## What Do You Already Know? 🧠💫
@@ -67,8 +69,6 @@ import Quiz from "../src/components/quiz/quiz.tsx"
6769
]}
6870
/>
6971

70-
<!-- truncate -->
71-
7272
## Modifying Without Breaking: Navigating the Modification Minefield
7373

7474
In our [previous post](/blog/graphql-schema-part-2-1), we explored how to make additive changes to your GraphQL schema without causing disruptions. Now, we'll dive into the tricky territory of modifying existing schema elements.

blog/graphql-schema-part-2-3-2024-07-23.mdx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ hide_table_of_contents: true
1212
slug: graphql-schema-part-2-3
1313
---
1414

15+
<!-- truncate -->
16+
1517
import Quiz from "../src/components/quiz/quiz.tsx"
1618

1719
## What Do You Already Know? 🧠💫
@@ -87,7 +89,6 @@ import Quiz from "../src/components/quiz/quiz.tsx"
8789
},
8890
]}
8991
/>
90-
<!-- truncate -->
9192

9293
## Removing Without Breaking: The Subtraction Subterfuge
9394

0 commit comments

Comments
 (0)