Nipuna Jayaweera

As I sit here reflecting on my journey, I'm thrilled to say I have over six years of experience in the software engineering industry, and have been fortunate enough to have the opportunity to serve as a Senior Software Engineer. It's been an exhilarating ride, with a diverse range of experiences that have helped me build my skills and knowledge base. Whether it's back-end or front-end development, I am an expert in both, having mastered a wide technology stack that enables me to bring your vision to life. Over the years, I've had the privilege of working on multiple projects, building out applications that span across the web and mobile platforms. I've reviewed thousands of lines of code, gained valuable insights, and now stand ready to share the knowledge I've acquired to help you understand the most important software engineering concepts.
Routing

Routing

What is Routing? Routing is the method of choosing the most appropriate path for network traffic to travel between different networks or network devices. It involves determining the path that data should take through the network to reach its intended destination....

read more
Network Address Translation

Network Address Translation

Network Address Translation or NAT gives the facility of accessing the internet by multiple devices through a single public IP address. To do this, the private IP address must be converted to a public IP address. Network Address Translation is the procedure that...

read more
CSMA/CA vs CSMA/CD

CSMA/CA vs CSMA/CD

Carrier Sense Multiple Access (CSMA) The method Carrier Sense Multiple Access which is abbreviated as CSMA was created to reduce the risk of collisions between two or more stations when they start transmitting signals across the data link layer. Carrier Sense Multiple...

read more
Algorithms

Algorithms

According to Wikipedia, the definition of the algorithm is as follows, "In mathematics and computer science, an algorithm is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation." - wikipedia...

read more
Pseudocodes

Pseudocodes

Pseudocodes are used in describing the distinct steps of an algorithm that can be understood by anyone with basic programming experience. We use pseudocode in a variety of programming fields, including app development, data science, and web development. Pseudocode is...

read more