Author: Ayush Prashar

Couchbase Disaster recovery

Couchbase – Enhance Database Performance

Reading Time: 5 minutes While transitioning from a Relational to a NoSQL Database, architects expect none or a minimal effect on performance with the scaling up of the size of data.  Dealing with a huge amount of data may be the USP of a Database, but still, we need to design things in order to make them run well at scale. In this blog, I’d try to explain what Continue Reading

User Authorization using JWT – Part 1

Reading Time: 4 minutes Around all the buzz words flying in the micro-service development area, one of the hottest is JWT (JSON Web Token). We often encounter JWT in already established services or may be asked to authenticate a User using a JWT. So if you’re new to this concept, hang in tight! In this blog, I’ll try to explain what exact use-case  JWT fulfills and when you can Continue Reading

Composition over Inheritance: Part 2

Reading Time: 3 minutes In the last blog, we discussed how using inheritance, even though a useful tool, can become problematic when used without precautions. To counter the violation of abstraction, we can consider using Composition. Which brings us to the obvious question, what is composition?

Composition over Inheritance: Part 1

Reading Time: 4 minutes Inheritance Inheritance happens to be one of the prime features of the Java language and is one of the key requirements for Object-Oriented Programming. It provides a lot of help in reducing code repetition, helps in designing the application and whatnot. However, for the best use of this feature, we must also know when we shall avoid using it. Just like any other feature of Continue Reading

Effective Java: try v/s try with resources

Reading Time: 3 minutes It’s not uncommon to acquire resources while developing and forgetting to close them. For example, InputStream is a resource that would be explicitly needed to be closed and hence can be often overlooked.  To effectively work with our resources it is important that we return the resources as soon as we are done using them else they may lead to performance consequences. One of the Continue Reading

Java: back to basics.

Constructors vs Static factory methods

Reading Time: 4 minutes Instantiating the object of the class isn’t really the most difficult job in the world. Rather I’d say its one of the most basic things about any programming language. As you must’ve guessed it, I’m referring to a constructor. A constructor is a method whose name is the same as that of the class its part of, and which returns the instance of the class. Continue Reading

Spring WebFlux: Error handling in Reactive Streams

Reading Time: 3 minutes Error handling is one of the ways we ensure we are gracefully handling our failures. While working with streams of data, the Reactive Library Reactor provides us with multiple ways of dealing with situations where we need to handle our errors. In this blog, I wish to discuss a few of them with you.

In Deep: The bill of materials in Maven

Reading Time: 3 minutes Lately while working with Spring WebFlux, I came across this really helpful concept of the bill of materials also known as BOM, a concept not really limited to Spring at all. BOM is one of the few ways Spring helps us forget about issues related to transitive dependencies and focus solely on our project requirements. So when we generally create a large scale project with Continue Reading

Lifetime in Rust – Part 1

Reading Time: 4 minutes Rust can be a tricky language to work with and one of the prime reasons for that is the way it manages its memory. In my previous blogs, Ownership, and References I discussed how Rust works its memory management and how it manages to refer to a variable without actually taking the ownership of the variable. Now, let’s take a step further. What happens when Continue Reading

Working with Project Reactor: Reactive Streams

Reading Time: 4 minutes .The words “Reactive” and “Streams” often go hand in hand. The streams API of Java 8 is a great tool for making your projects Reactive. But that’s not the only stream you can have. In this blog, I’d like to talk about this awesome project called Project Reactor.

Options in Rust

Reading Time: 3 minutes To be or not to be, that’s an Option! Many programming languages have the feature where they intend to depict a Null. Null as a value conveys that either it is currently invalid or currently unavailable. Such a state is important in a programming language. It’s a perfectly valid use case to convey the validity of a value. But still, the inventor of Null, Sir Continue Reading

Rust – References

Reading Time: 3 minutes In my previous blog, we discussed how Rust performs memory management. Interesting as it is, the concept of ownership does come up with a few obstacles when it comes to programming. For instance, if we use a variable as a parameter to another function, Rust doesn’t allow us to access the same variable in that scope anymore. For more details as to why that happens, Continue Reading

struct

RUST – Ownership

Reading Time: 5 minutes One of the very distinctive features that make Rust stand out among the other languages is the way it does memory management. Memory management in C happens by either declaring a variable or by allocating a chunk of space at runtime. The same then can be freed using explicit function calls. So basically the control resides with the developer which may result in error-prone code. Continue Reading