Engineering

Merits and demerits of removing PM2 from NodeJS docker container

Merits and demerits of removing PM2 from NodeJS docker container

Background Our story starts with us trying to implement a feature on one of our nodes in back-end applications. Sangam Athena. During these implementations, we realized that our application was using a high amount of ram and also there were a large number of containers being launched to serve traffic. Athena was comparatively a lightweight…

Speeding up website JavaScript using Partytown!

Speeding up website JavaScript using Partytown!

For any software especially web applications, performance is an important metric and non-functional requirement. In today’s world where our attention span is fast decreasing (studies have found that average attention span is a measly eight seconds), a delay in page load of even a few milliseconds might cause the user to get distracted and navigate…

Shaadi.com’s approach to transitioning from monolith to microservices

Shaadi.com’s approach to transitioning from monolith to microservices

In an always-evolving world of technology, if applications are not constantly evolving, they get outdated. Monolithic applications need to be refactored to a microservices model to reap the benefits of the cloud and enable the kind of business functionality that modern businesses demand. The Shaadi.com DevOps team has accomplished one such successful transition in recent…

Interesting tools and Extensions to take your dev setup to the next level

Interesting tools and Extensions to take your dev setup to the next level

In today’s world, we have a plethora of tools available for developers, and the best part is most of these tools are open-source and are managed, maintained, and loved by the open-source community. In this article, I am going to share some of those tools which are an integral part of my programming world. Since…

Understanding Ethereum

Understanding Ethereum

I am a huge fan of Naval Ravikant, I follow him on Twitter, and I also like to listen to his Podcast. Over the weekend, I came across 2 new episodes of his podcast titled “Vitalik: Ethereum, Part 1” and “Vitalik: Ethereum, Part 2” where Haseeb Qureshi, Naval, and Vitalik Buterin discussed Ethereum. To those who don’t know, Haseeb Qureshi is a Managing…

Power of Datadog’s Anomaly Monitor

Power of Datadog’s Anomaly Monitor

No company wants a customer to have a poor experience using their product, especially after they have invested, built, marketed and released them. For any product, its reliability is a core metric. We are a consumer-facing industry with millions of users. The reliability of our tech services is something that we monitor day in and…

API Testing in JMeter and the Features Used

API Testing in JMeter and the Features Used

Application Programming Interface (API) allows one software to interact with other software. It is a messenger that takes a request from one system to another system, provides the requirements and gets the response back to the requesting system. Why Choose Apache JMeter for API Testing?Some of the prominent reasons as to why Apache JMeter is used…

BDD Testing Framework Using katalon

BDD Testing Framework Using katalon

Cucumber is a testing framework that supports Behavior Driven Development (BDD). It lets us define application behaviour in plain meaningful English text using a simple grammar defined by a language called Gherkin. What is SpecFlow? SpecFlow is inspired by the Cucumber framework in the Ruby on Rails world. Cucumber uses plain English in the Gherkin format to express user stories. Once the user…

How we modernized Profile Screening at Shaadi?

How we modernized Profile Screening at Shaadi?

In this blog, you’ll learn what legacy code is, some tips to migrate technical debt, how we at Shaadi have migrated one of the aged systems to Serverless Architecture with considerable benefits.  “Reengineering of Legacy Systems should be done for a reason”  With the rapid advancement in technology, new OS, new hardware, new programming languages,…

iOS Combine Framework

iOS Combine Framework

Before going deep inside the Combine Framework, let’s recall the difference between synchronous and asynchronous programmingWith synchronous programming, we’re referring to all those programs written in a single-threaded language that execute sequentially line-by-line. Because of that, we’re always sure about the current state of our variables.With asynchronous programming, instead, we’re referring to all that programs written in a multi-threaded language that is…