Author: Rituraj Khare

How to use ZLayer in ZIO

Reading Time: 5 minutes What is ZIO: ZIO is a library for Scala programming language that provides a pure, composable, and type-safe approach to error handling and asynchronous programming. ZIO provides a lot of tools for developers to write applications in a clean, concise, and functional manner. Zlayer is a module in ZIO that provides abstractions for building and composing modular applications. In this blog, we’ll explore the basics Continue Reading

person controlling flight simulator

MapReduce vs Spark

Reading Time: 3 minutes What is MapReduce in big data: MapReduce is a programming model for processing large data sets in parallel across a cluster of computers. It is a key technology for handling big data. The model consists of two key functions: Map and Reduce. Map takes a set of data and converts it into another set of data. There individual elements are broken down into tuples (key/value Continue Reading

woman holding tablet computer

Zio Kafka

Reading Time: 4 minutes ZIO Kafka is a library in Scala, a distributed streaming platform for building real-time data pipelines and streaming applications. It provides a very high-level, composable API built on top of the Kafka Consumer and Producer APIs, allowing developers to write type-safe, functional code for working with Kafka. It is part of the ZIO ecosystem, which is a library for building concurrent, fault-tolerant, and high-performance systems Continue Reading

man working on laptop while woman takes notes

Joins in Spark SQL with examples

Reading Time: 4 minutes Spark SQL Spark SQL is a module in Apache Spark. It allows users to process structured data using a SQL-like syntax. It integrates seamlessly with the Spark ecosystem, including Spark Streaming and MLlib. One of the main benefits of using Spark SQL is that it permits to users to integrate SQL queries with the programming language of their choice, such as Scala, Python, or Java. Continue Reading

Businessman playing digital tablet in cafe

How to write unit test in Scala ZIO

Reading Time: 3 minutes ZIO is a Scala library for creating asynchronous, concurrent, and fault-tolerant applications. It is based on the concept of “effects” and provides a powerful and flexible way to express and compose computations that may have side effects, such as reading from a file, writing to a database, or making an HTTP request. ZIO offers a full-featured ecosystem for building applications, including libraries for common tasks Continue Reading

Open Systems Interconnection (OSI) Model

Reading Time: 4 minutes Open Systems Interconnection Model Introduction : The Open Systems Interconnection Model is a way to isolate communication problems between two remote computers. The abstract model have few layers, and each layer has certain functions. Those functions need to be performed by the services of the respective layer. Layers in Open Systems Interconnection Model : The process of communication between two endpoints in a network can Continue Reading

Grafana vs Prometheus

Reading Time: 3 minutes The open-source Prometheus monitoring tool offers a built-in instrument panel functionality. It considers Grafana its monitoring solution. Both the tools allow users to handle and monitor the data logs. For example, Graph time-series metrics, which are stored in the Prometheus database. So it depends on your monitoring requirements, and which tool you have to use. This article explains both of these solutions. It explains how they Continue Reading


Grafana and Metrics for Monitoring

Reading Time: 2 minutes What is Grafana? Grafana is a database analysis and monitoring tool. It allows you to create dashboard visualizations of key metrics that are important to you. Grafana is a substitute for people who share reusable dashboards. Grafana supports a huge number of sources of data. Since this tool is open source, when any new data has been received. Someone who is observing, is adding support for Continue Reading

Apache Spark

Brief Introduction to Apache Spark

Reading Time: 3 minutes What is Apache Spark: Apache Spark is an open-source data processing engine to store and process data in real-time across various clusters of computers using simple programming constructs. It supports various programming languages like Scala, Python, Java, and R. Spark Architecture: Uses of Apache Spark: It is used for- Applications of Data processing Batch processing Processing Structured data Machine learning Process graph data Processing Streaming data Features of Continue Reading

Method Invocation in Scala

Reading Time: 2 minutes Introduction: Method Invocation is a technique that shows various syntax in which, we precisely call methods of a class with an object. The naming conventions of Scala are the same as of Java, that is:- There should not be any space between the invocation object or target and the dot(.) nor a space between the dot and method name. Nor there should not be any Continue Reading

Liskov Substitution Principle and its significance

Reading Time: 3 minutes Solid Principles: Solid principles establish practices that grant software development with considerations for maintaining as well as extending as the project grows. Adopting these practices can also contribute to avoiding code smells, refactoring code, and Agile or Adaptive software development. Liskov Substitution Principle and its significance: “Objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program” Continue Reading

Higher Order Functions in Scala

Reading Time: 3 minutes Introduction: Some functions are called higher-ordered functions as they accept functions as parameters. You can also have a higher-order function as one that returns the functions. So basically, if there is a function that deals with a function, is kind of a meta-level, we call it higher order. Why do we use higher order functions..?? Because we want to be able to reuse our code Continue Reading

Recursion and Tail Recursion in Scala

Reading Time: 4 minutes Introduction: Recursion is quite common in the programming world. If you don’t know recursion, it means, solving a problem by breaking it into smaller sub-problems until you solve it trivially. You can easily spot recursion if you see a method calling itself with a smaller subset of input. Recursion and immutability are corner zone of functional programming. As we have seen earlier, while using loops, Continue Reading