Blog

Technical Debt

Originally coined by software developer, Ward Cunningham, who was a co-author of the Agile Manifesto and also the developer of the world’s first wiki. His main purpose was to explain to non-technical stakeholders at WyCash the significance of refactoring and the need for resource planning and budget allocation for the same. Technical Debt is a term used…

3 min read

Understanding the State machine!

What is a state machine?The concept of the State machine comes from IoT or Hardware programming.Imagine a simple light switch, it can either be on or off, completely predictable states.Even a complicated system contains a few states, it will transitionsbetween states which takes out the unpredictable behaviour of any System. For example, a Traffic signal…

5 min read

One Step Ahead: Software Testing Trends to Watch In 2021

Modern testing solutions are evolving and revolutionizing. QA is not just about finding bugs and errors anymore; it is a complex technical philosophy that also includes evaluation of a product idea, behavioural predictions, analysis of opportunities and threats, etc So can we use only traditional and well-known testing methods to achieve progressive results? Of course,…

12 min read

Future of Visual Regression Testing at Shaadi.com

The What: Automated visual testing is a technique to verify that your application appears to the user as you intended. Visual testing can be used whenever there’s a need to verify the display of data on a web or mobile application. The Why: Traditional testing paradigms allow the creation of separate tests for their functional and…

4 min read

Material Design: What? Why?

Design Systems are ways of communication,  not only between the software and human but also between designers and developers and the other stakeholders. As in software development, we tend to hold to at least one Architectural Pattern so that we communicate better through our code and everyone in the team knows where to write what kind…

By Owais
12 min read

AutoIT for Desktop Automation

How to upload Files in Selenium Webdriver using AutoIT What is AutoITAutoIT is a freeware scripting language designed for automating windows GUI and general scripting. It uses a combination of mouse movement, keystrokes and window control manipulation to automate a task that is not possible by a selenium web driver. In layman’s terms, AutoIT is just another automation…

Introduction To Machine Learning in iOS

Machine learning is a subset of artificial intelligence (AI). It is an application of artificial intelligence (AI) that provides systems with the ability to automatically learn and improve from experience without being explicitly programmed. Machine learning is a study of computer algorithms that improve automatically through experience. Machine Learning EcoSystem in iOS:- We can use four different input…

Architectural Enhancement:- VIPER over MVVM

A well-designed architecture is important to keep a project maintainable in the long term. At Shaadi, we have always strived to achieve it and in this process have transitioned from MVC to using MVVM pattern. While it’s debatable that MVVM does scale averagely in the long run, there’s a pattern that knits out this dilemma….

4 min read

How Shaadi.com optimized compute costs using Amazon EBS gp3 volumes

Shaadi.com was founded in 1996 with one simple objective – to provide a superior matchmaking experience to Indian people around the world. Shaadi.com has over 3 million active profiles globally. As of today, Shaadi has helped 3.5 crores (35 million) people find their matches. Shaadi.com uses AWS to deploy its key products, including the matrimonial portal,…

ES2020 Operators

Optional Chaining and Nullish Coalescing are the new JavaScript operators added in ES2020. These operators have been a part of other programming languages like Swift and Kotlin and have now been added to JavaScript. These operators make it easier to write readable and safer code. Optional Chaining Optional Chaining allows access to nested properties of an object without…