Learn Build Share

Photo of Rahul Aher

Hello! I'm Rahul Aher, a seasoned Sr. Software Engineer at Morningstar, passionate about architecting transformative software solutions. With a results-oriented mindset, I pursue complex challenges in Software and Product Development.

I excel in web development, mastering Java, JS, and cloud technologies. Committed to innovation, I leverage expertise to boost team performance in dynamic environments.

Concepts - Learning

“I am always ready to learn although I do not always like being taught.” — Winston Churchill

OOP in JAVA

  • Interview question's and answer's
  • 2024-06-4

OOP in Java stands for Object-Oriented Programming. It's a programming paradigm that revolves around the concept of "objects," which can contain data, in the form of fields (attributes or properties), and code, in the form of procedures (methods or functions).

3. if-else in JAVA

  • MODULE 1: Introduction to Programming
  • 2024-05-21

The Java if statement is used to test the condition. It checks boolean condition: true or false. There are various types of if statement in Java.

2. Operators in JAVA

  • MODULE 1: Introduction to Programming
  • 2024-05-20

Java provides many types of operators which can be used according to the need. They are classified based on the functionality they provide. In this article, we will learn about Java Operators and learn all their types.

1. Beginner: Data Types + Reading Input

  • MODULE 1: Introduction to Programming
  • 2024-05-19

A data type is an attribute associated with a piece of data that tells a computer system how to interpret its value. Understanding data types ensures that data is collected in the preferred format and the value of each property is as expected.

Knowledge - Sharing

“You might not think that programmers are artists, but programming is an extremely creative profession. It’s logic-based creativity.” — Alex Litcher

10 Proven Strategies to Optimize Web Application Performance

June 1, 2024
  • #system-design
  • #interview-prep
  • #lld

In today's fast-paced digital world, user experience plays a crucial role in the success of any web application. Users expect lightning-fast loading times and seamless interactions, and any lag or delay can lead to frustration and abandonment. Therefore, optimizing the performance of your web application is paramount. In this blog post, we'll explore ten proven strategies to enhance the performance of your web application, ensuring a smoother and more enjoyable user experience.

API Architecture - Design Best Practices for REST APIs

May 26, 2024
  • #system-design
  • #aws
  • #lld

REST which stands for Representational State Transfer is an architectural style that governs how APIs are designed and built. REST’s popularity and ease of implementation make it the most preferred API architectural style for modern-day software development as compared to other protocols such as SOAP (simple object access protocol). REST APIs or RESTful web services have become the backbone for efficient communication between client and server in modern-day software development. However, to build efficient and robust REST APIs, it is crucial to follow some standard best practices. In this blog, we’ll explore REST API best practices that can help you build scalable, maintainable, secure, and robust APIs.

Eventual vs Strong Consistency in Distributed Databases

May 25, 2024
  • #system-design
  • #aws
  • #lld

While consistency is vital, it’s essential to understand that achieving strong consistency in distributed systems can come at the expense of increased latency and reduced availability. Strong consistency may require additional coordination mechanisms that slow down operations. Therefore, choosing the appropriate consistency model involves striking a balance between data correctness and system performance, based on the specific requirements of the application and use case. Different systems may opt for eventual consistency or other weaker consistency models if absolute real-time consistency is not necessary for their functionality.

Rate Limiting

May 24, 2024
  • #system-design
  • #aws
  • #lld

Rate limiting runs within an application, rather than running on the web server itself. Typically, rate limiting is based on tracking the IP addresses that requests are coming from, and tracking how much time elapses between each request. The IP address is the main way an application identifies who or what is making the request. A rate limiting solution measures the amount of time between each request from each IP address, and also measures the number of requests within a specified timeframe. If there are too many requests from a single IP within the given timeframe, the rate limiting solution will not fulfill the IP address's requests for a certain amount of time.