Author: Mahesh Chand

A Basic CRUD Application Using ElasticSearch

Reading Time: 2 minutes In our previous post Introduction To ElasticSearch, we talked about the basic terminology of elastic search and basic requests to create or delete an index, check the health status of the cluster, indices etc. In this post, we are going to talk about creating a basic CRUD application using DSL. Without waiting let’s get started. To create an application, first, create an SBT Project, add Continue Reading

Introduction to ElasticSearch

Reading Time: 3 minutes Hey Folks, Today, we are going to explore about basics of ElasticSearch. From the documentation,  its definition is: Elasticsearch is a highly scalable open-source full-text search and analytics engine. It allows you to store, search, and analyze big volumes of data quickly and in near real time.   It is a real-time distributed search and analytics engine based on top of Apache Lucene. It is Continue Reading

Getting Started With Akka Http Cache

Reading Time: 3 minutes To build a rest point application, there are many options available like Akka Http, Finagle, Play Framework, Lagom etc. In our project, we are using Akka HTTP for building rest applications. We have lots of requests related to analytics. There are many requests which are very expensive. So, we faced an issue where our application was taking time to respond to some analytics. We have Continue Reading

TDD: What & How?

Reading Time: 3 minutes Programming is like exploring a dark house. You go from room to room to room. Writing the test is like turning on the light. Then you can avoid the table, furniture and save your shins i.e resulting clean design from refactoring. Then you are ready to explore the next room. There is famous saying in software development that If it isn’t tested, it’s already broken. Continue Reading

monads

Back2Basics: Understanding Partially Applied Functions

Reading Time: 3 minutes In this blog, we are going to talk about Partially applied functions and its use case. Before starting, first, we will emphasize that though Partial functions and Partially applied functions sound similar they are different from each other. To understand Partial Functions refer. What is function application? Applying a function is called calling a function. When we pass all arguments of the function, we can Continue Reading

monads

Back2Basics: Understanding Partial Function – #2

Reading Time: 3 minutes In previous blog Understanding Partial Functions – #1, we have talked about what is partial function and how they are different from regular functions. In this blog, we will explore more about the partial function. We have talked about how we can define partial functions having one argument. But what to do if we have to pass more than one argument. Let’s try defining divide Continue Reading

monads

Back2Basics: Understanding Partial Functions – #1

Reading Time: 3 minutes   In this blog, we will talk about partial functions. We know about functions in Scala. Let’s talk about it first. So, what is a function? A function is a mapping or a transformation of an input to an output. For example,  we have function isEven, which takes an int value and retuns boolean value. scala> def isEven(x :Int) = x % 2 == 0 Continue Reading

Back2Basics: The Story of Trait – Part 4

Reading Time: 4 minutes In our previous blog The Story of Trait – Part 3, we have discussed the mixin, one of the charming feature of traits. Now we are going to explore chaining of traits. We have seen how can we mix more than one traits into classes. But what would happen if two traits have same method i.e same name and same signature? This is where Multiple Inheritance Continue Reading

Back2Basics: Demystifying Eta Expansion

Reading Time: 4 minutes In this blog, we will talk about eta expansion in Scala. How they behave under the hood before and after Scala version 2.12. Scala has both methods and functions in Scala. We refer them interchangeably but there are situations where the difference matters. This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file Continue Reading

Back2Basics: The Story of Trait – Part 3

Reading Time: 4 minutes In our previous blog The Story of Trait – Part 2, we have discussed that traits can have implementation too and how they behave under the hood. In this blog, we will discuss mixins one of the most charming features of traits. Mixins are the wonderful concept of object-oriented programming. Sadly, some of the mainstream object-oriented programming languages like C++, Java, C#, have not provided Continue Reading

Back2Basics: The Story of Trait – Part 2

Reading Time: 3 minutes In our previous blog The Story of Trait – Part 1, we have discussed how traits are the just regular interfaces at the very basic form. In this blog, we will explore about traits can have method implementation too. We will continue with our previous example and modify it and see how trait behaves in different scenarios. https://gist.github.com/mahesh2492/912fa3da297660afc96c657815610e2d.js This file contains bidirectional Unicode text that Continue Reading

Back2Basics: The Story of Trait – Part 1

Reading Time: 3 minutes In this blog, we will have a look at traits in Scala. We have classes in Scala. Suppose we have a class Dog which has a method speak. class Dog(val name: String){ def speak() = println(s”$name is barking”) } Now if we want another class Cat which has the same method speak. What we will do? In Java, generally, we create an interface Animal and Continue Reading

Getting Lazy With Scala

Reading Time: 4 minutes In this blog, we will talk about lazy evaluation in Scala. How we can add efficiency to our application? Efficiency is achieved not just by running things faster, but by avoiding things that shouldn’t be done in the first place. In functional programming, lazy evaluation means efficiency.  Laziness lets us separate the description of an expression from the evaluation of that expression. This gives us Continue Reading