Tag

#programming

How we detected GQL caching issues with an ESLint plugin

Introduction Over the past year at Hashnode, we have been continuously developing GraphQL APIs to enable users to interact with their data and perform various operations. We utilize Stellate as the GQL CDN and take advantage of its Edge Caching capab...

Date: |Estimated Reading Time: 4 min|Author: Lakshya Thakur

Hashnode's Feed Architecture

We previously explained how we calculate the Hashnode Feed and select content and metadata for each user. We found that the feed now displays improved and personalized content. However, we did find two issues in the implementation: Performance: The ...

Date: |Estimated Reading Time: 6 min|Author: Florian Fuchs|Comments: 3

Developing a parameter weightage-based feed

We recently deployed a new discussion feed on hashnode, which comes close to matching our requirements. In this article, we'll discuss how we created it. Before we get into it, just a heads-up that features like feed are developed with many hits and...

Date: |Estimated Reading Time: 5 min|Author: Vamsi Rao|Comments: 2

CI Checks: Ensuring Better Code Quality and Faster Deployment

How can you consistently deliver high-quality code that adheres to established coding guidelines and is free from errors?The solution lies in implementing tests and multiple checks for linting and type errors. This may seem straightforward, but it re...

Date: |Estimated Reading Time: 8 min|Author: Shad Mirza

Crafting Superior APIs with Design Guidelines: Set Up For Success

Building APIs – especially public-facing ones – is hard. There are a lot of decisions to be made, starting with the API concept (GraphQL, REST, etc.) to be used, infrastructure, and much more. But having this is just the foundation of your API, and y...

Date: |Estimated Reading Time: 7 min|Author: Jannik Wempe|Comments: 2

How Do We Sync Reactions Across Hashnode

Hashnode is a blogging platform with many feeds. We have relevant feed, featured feed, recent feed, bookmark feed, and reading history feed to list some.Whenever an article receives any engagement like reactions, comments, or bookmarks, it must be re...

Date: |Estimated Reading Time: 3 min|Author: Shad Mirza|Comments: 5

How We Overcome Localhost Mapping Issues While End-To-End Testing with Cypress

Do you know what happens when you need to run Cypress end-to-end tests on localhost subdomain wildcards at *.app.localhost? You will likely run into DNS resolution issues since the requests for those domains have yet to be attributed to an address, s...

Date: |Estimated Reading Time: 11 min|Author: Kieran Roberts|Comments: 2

After 4 years with nginx, we switched to Caddy - Here is why

When we started Hashnode in 2015, we wanted to keep things really simple. Since nginx was the most popular choice, we decided to use it as a reverse proxy to our Node.js backend. It was a simple set up and worked really well for us for years. With D...

Date: |Estimated Reading Time: 5 min|Author: Sandeep Panda|Comments: 7