Author: Mansi

scala variances

Scala Variances: Covariance, Contravariance, and Invariance

Reading Time: 4 minutes 1. Variance Variance is the interconnection of subtyping relationship between complex types and their component types. Variance is all about sub-typing. It tells us if a type constructor is a subtype of another type constructor. Variance defines inheritance relationships of parameterized types(types that have parameters within them). Sub-Typing Every programming language supports the concept of types. Types give information about how to handle values at Continue Reading

JavaFX

JavaFX - Overview with Hands-on

Reading Time: 8 minutes 1. Overview JavaFX is a Java library used to build Rich Internet Applications (RIA). It provides a set of graphics and media packages that enables developers to design, create, test, debug, and deploy rich client applications that operate consistently across diverse platforms. JavaFX provides a rich graphical user interface. JavaFX has the structure and APIs specifically for animation, 2D and 3D geometry, charts, special effects, Continue Reading

Functors in Functional Programming

Functors in Functional Programming

Reading Time: 5 minutes 1. Overview In this tutorial, we’ll take a look at Functor type class in Cats. The idea of Functor is “something that can be mapped over”, we’ll see what is actually mapped and how. In functional programming, Functors come into play when we have types or values wrapped inside contexts or containers. We don’t have to know any of the implementation details of those contexts Continue Reading

Introduction to Git Flow

Reading Time: 5 minutes Overview Git Flow is an abstract idea of a Git workflow. It helps with continuous software development and implementing DevOps practices. The Git Flow Workflow defines a strict branching model designed around the project release. This provides a robust framework for managing larger projects.   Git Flow is ideally suited for projects that have a scheduled release cycle and for the DevOps best practice of continuous Continue Reading

dev-tools

Dev Tools to the Rescue – Part 2

Reading Time: 6 minutes In my previous article Dev Tools to the Rescue – Part 1, we looked at some of the best developer tools for software development, project management, continuous delivery/integrity, designing, testing, etc. In this article, we’ll continue with tools that are helpful for purposes like monitoring, analysis, cloud development, security, etc. Confluence Confluence is a team collaboration application that allows teams to work together and share Continue Reading

dev-tools

Dev Tools to the Rescue – Part 1

Reading Time: 6 minutes Whether you are a software developer working on someone else’s projects or you run a business yourself, utilizing the right tools of the trade is essential. The market of software development tools is an ever-changing one and increasingly competitive. It’s a tough task to decide which one is best suited for you. In this article, we will review some of the best developer tools, ranging from Continue Reading

Scala Cats - Functors

Diving into Scala Cats – Functors

Reading Time: 4 minutes If you’re new to the concept of type classes I suggest you read my other article explaining them. The Cats library makes extensive use of type classes and a basic understanding is a prerequisite for this article. In previous articles, we talked about Semigroups and Monoids, which are abstractions that let us combine values of the same type together. In this post, we’ll take a look at Functors, which Continue Reading

Scala Cats - Functors

Diving into Scala Cats – Monoids

Reading Time: 2 minutes Today we are going to deep dive into the Scala Cats again to find out about Monoids. If you haven’t already read my post about Diving into Scala Cats – Semigroups I suggest you do so now. What are Monoids? The Monoid extends Semigroup and adds a default or fallback value for the given type. Monoid type class comes with two methods – one is the combine method of Semigroups, Continue Reading

Scala Cats - Functors

Getting Started with Scala Cats

Reading Time: 3 minutes Introduction This article is about Scala Cats. It is a library which provides abstraction for functional programming in the Scala programming language. The name is a playful shortening of the word category. Cats is a lightweight, modular, and extensible library for functional programming. Cats contains a wide variety of functional programming tools and allows developers to pick the required ones. The majority of these tools Continue Reading

Scala Beginner Series (3) : Functional Scala

Reading Time: 4 minutes This series is all about the taste of Scala.It is best suitable for all the newbies in Scala. You may also like: Scala Beginner Series (1) : BasicsScala Beginner Series (2) : Object Oriented Scala In the previous part, we covered the: Classes, constructors, inheritance, and abstract classes Traits and anonymous classes Singleton objects and companion objects Case classes and case objects This article will cover the functional Continue Reading

Learning about Reactive Messaging Patterns

Reading Time: 4 minutes Overview According to the Reactive Manifesto, a critical element in any Reactive system is that it is message-driven. But what does it mean to be message-driven? Message-driven systems are those that communicate primarily through asynchronous and non-blocking messages. Messages enable us to build systems that are both resilient, and elastic, and therefore responsive under a variety of situations. Message Driven Architecture We have various ways Continue Reading

Scala Beginner Series (2) : Object Oriented Scala

Reading Time: 7 minutes This series is all about the taste of Scala.It is best suitable for all the newbies in Scala. You may also like: Scala Beginner Series (1) : Basics In the previous part, we covered: Values, variables, expressions and types Functions and recursion The Unit type This article will cover the object oriented nature of Scala language. Classes Scala has the same concept of a class as we Continue Reading