Photo by Dave Hoefler on Unsplash

Hi Guys,

I'm Ravidu Shehan Perera from Sri Lanka, one of the most beautiful countries in the world. So I'm keeping this blog to share my knowledge in the technical field as well as my experiences with the software engineering industry. Even though I'm an amateur in this Industry, I love to gain knowledge and experience. So stay connected with me. I will update my blogs here. so you can access them easily.

Articles Related to Computer Networking:

  1. TCP/IP Model for Network Communication
  2. Functions of Networking System: OSI Model
  3. A Basic Introduction to the Computer Network


Transmission Control Protocol (TCP) is the most common network protocol which use Internet Protocol (IP) to create connection-oriented communication which facilitates the sharing the messages between network devices. Lets’ check about the details of the TCP/IP model

Photo by Jainath Ponnala on Unsplash

Before Get to know about the TCP/IP model, you need to have a basic understanding of the OSI model and its layers. Check my blog on the OSI model here.

What is TCP/IP?

As mentioned earlier, TCP stands for Transmission Control Protocol and IP stands for Internet Protocol. This TCP/IP model was developed before the OSI model in the 1960s. As discussed in the OSI model, is just a concept for communication between networks. It was designed to keep the communication by separating the communication procedure into seven, simple layers. …


Basic understanding about Java concurrency

world of concurrency

What is Concurrency?

Concurrency is the execution of multiple instruction sequences at the same time. It happens in the operating system when several process threads are running in parallel. The running process threads always communicate with each other through shared memory or message passing. Concurrency results in sharing of resources result in problems like deadlocks and resource starvation.

It helps in techniques like coordinating the execution of processes, memory allocation, and execution scheduling for maximizing throughput.

Examples of Concurrency in Real-world

  • Railway Networks
  • Gardening
  • Machines in a factory
  • Banking systems
  • Travel reservation systems
  • Multiplayer games

Why we need concurrency?

Concurrency means multiple computations are happening at the…


The use of Java re-entrant lock to achieve thread synchronization and the actual impact of synchronizing.

Photo by Stephane Gagnon on Unsplash

In Java concurrent programming, thread synchronization has a special place when it’s come to multiple thread execution. This article will discuss the use of Java Re-entrant lock to keep the synchronization mechanism than traditional thread synchronizing.

What and Why?

In Java, synchronization refers to the ability to regulate multiple threads’ access to a shared resource. Multiple threads trying to access shared resources at the same time in the Multithreading concept, resulting in unpredictable effects. Synchronization is required for thread communication to be reliable.

When multiple processes must run at the same time, synchronization is required. The primary goal of synchronization is to share…


A transaction is a logical unit of work that accesses and, in certain cases, updates the contents of a database. Read and write operations are used by transactions to access data.
Certain properties are followed before and after a transaction in order to preserve database consistency. ACID characteristics are what they’re called.

Photo by Jan Antonin Kolar on Unsplash

Hello Guys, In this article I’m going to discuss the ACID Properties which are used in Database Management systems. Basically, ACID properties are considered in the SQL servers. Before that, I will discuss the basic transaction concepts of SQL servers as well. Let’s begin…..

Transaction in SQL servers

We use SQL servers in the no-SQL databases. In SQL Server, a transaction is a collection of SQL statements that are viewed as a single unit and executed under the principle of “do everything or nothing,” with a successful transaction passing the ACID test. In a database, a transaction is a logical work unit that conducts…


The Spring Framework is made up of around 20 modules, each with its own set of functionality. Core Container, Data Access/Integration, Web, AOP (Aspect Oriented Programming), Instrumentation, and Test are the categories for these modules. Here I’m going to talk about those modules in detail.

Photo by Sigmund on Unsplash

Spring may be able to serve as a one-stop-shop for all of your business applications. Spring, on the other hand, is modular, so you can pick and choose which components are relevant to you without having to install the others. The sections that follow provide information on all of the Spring Framework modules. Many modules…


The Spring Framework is a Java platform application framework and inversion of control container.

Photo by Tracy Adams on Unsplash

What is Spring?

The Spring Framework is a Java platform application framework and inversion of control container. Any Java application can use the framework’s core functionality, however, there are enhancements for building web applications on top of the Java EE (Enterprise Edition) platform. The framework has grown popular in the Java community as an extension to the Enterprise JavaBeans (EJB) architecture, despite the fact that it does not prescribe any certain programming model. The Spring Framework is a free and open-source framework that was initially released in 2002.

Spring…


Let’s create a chatbot using the Chatterbot library

small robot-like figure made of plastic
small robot-like figure made of plastic
Photo by Everyday basics on Unsplash

In systems, chatbots are used for a variety of reasons, including customer support, request routing, and information collection. While some chatbots make heavy use of word classification, natural language processing, and advanced AI, others just scan for basic keywords and generate responses using common phrases from a library or database.

Uses of Chatbots

In recent years, there has been a tremendous increase in on-demand messaging, which has changed how customers communicate with brands. More and more firms are using chatbots in their workflows to provide greater customer care.

Chatbots have been game changers in industries where high-volume client engagement is at the core…


A song recommendation system that figures out a user’s mood from social media content

woman wearing headphones and holding phone while she sings to music
woman wearing headphones and holding phone while she sings to music
Photo by bruce mars on Unsplash

Hi guys, I was thinking of sharing my final year research with you. The reason to chose this domain is the personal experience I had when selecting a song to listen to. Even though there is some of my favourite music on my mobile, I was searching for something related to my current mood. So I thought of developing a system that detects our current emotion and suggests a song according to that.

Areas considered

As mentioned above, the main research gap I found identifies the complex emotional categories from social media content. …


Open System Interconnection (OSI) model is a conceptual framework that is used to describe the functions of a Networking system.

Photo by Compare Fibre on Unsplash

The OSI model, Open System Interconnection model consists of seven separate and distinct layers which are describing a particular set of functionalities and behaviours when communicating between computer networks.

Although every protocol used for communication fits into one of these seven layers, not all communication streams will make use of the following layers. When understanding the seven layers in the OSI model, the order is important.

“Please Do Not Tell Secret Passwords Anymore”

The above line consists of a way to remember all the OSI model layers in one sentence.

Ravidu Perera

Royalist | Software Engineer | University of Westminster, UK | Former Software Engineering Intern @Kingslake

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store