Image Credits to Pixabay at Pexels

In Part 1 of this series, we explored Inheritance, or the ability for objects to be able to retain certain properties and attributes from a parent. This differs depending on whether we’re using class inheritance with object-oriented languages, such as Python, Java, C++, Ruby, or prototypal, of which JavaScript is most famously an example.

In Part 2, I’ll be reviewing the second principle, encapsulation. As a reminder, there are four principles to Object Oriented Programming.

Thorben Janssen defines encapsulation as “the idea of bundling data and methods that work on that data within one unit”. It does so by allowing…

Image credits to Olia Danilevich

In part 1 of this series, I’ll be discussing two types of inheritance in programming: class and prototypal.

Inheritance is one of the four principles in Object-Oriented Programming, and OOP is a highly sought-after skill in software engineering. So, what is inheritance?

We know inheritance as something a previous generation may have passed on to us — perhaps you received something meaningful to remind you of your family. Something similar happens in programming as well.

In programming, inheritance is defined as “a mechanism where you can derive a class from another class for a hierarchy of classes that share…

Image credits to Startup Stock Photos

There are many blogs out there about how to use Redux, but few on when to use Redux. It can be difficult and tricky to discern, and something I’ve struggled with myself.

What is Redux? Why was it created?

Redux is a third-party library created by Dan Abramov and Andrew Clark for state management.

For starters, state management is a complex challenge in Frontend Development. JavaScript is asynchronous, which means there can be many functions running in the background waiting to be completed, and we have no idea when they will be completed and returned.

When React was introduced, it came with a built-in state object through…

Image credits to Daria Shevtsova at Pexels

Web development was my initial introduction into Software Engineering. In my journey to becoming a better engineer, however, I’ve challenged myself to learn more about Frontend Development. This meant understanding the differences between client and server side rendering, building a website incorporating UX trends, and incorporating React Hooks into my projects.

On that note, I recently built a project using React Native, an extension of React. React Native is an open source framework, and it is used for mobile Frontend development. If you have a solid foundation in React, then React Native won’t present too much of a learning curve…

Image credits to Antonio Batinic at Pexels

Recently, someone asked me about a React framework, and the benefits of choosing and using this particular framework. Truth be told, I wasn’t sure: I knew this framework loaded faster compared to other frameworks in the same space, but couldn’t explain it in more depth than that at the moment.

After this particular conversation, and a few more about Front End development, I wanted to focus my attention on the differences between server side rendering versus client side rendering, and the benefits of using either or.

What is server side rendering?

Server side rendering is one way of displaying a web page. This was how…

Image credits to Miguel Á. Padriñán at Pexels

The internet is everywhere, or rather, we can access the internet (almost) everywhere. From the small computers we call mobile devices or “phones”, to smart watches, smart TVs, smart refrigerators, smart door alarms, to our laptops, it’s something we take for granted. We click or tap on an icon, type in an address, and will see a website in a matter of seconds, even milliseconds.

While this seems like all there is to it, it’s actually — surprise! — much more complicated. So…how does the internet work?

There’s an important distinction between the internet and the web. GeeksForGeeks distinguishes this…

Image credits to David McBee at Pexels

Blockchain and cryptocurrency have taken over the headlines. From NFTs sold for hundreds of thousands of dollars, to Coinbase’s IPO, to the frenzy around Dogecoin, many people are wondering what exactly is blockchain? What’s cryptocurrency? How are the two related?

This blog is a quick introduction into blockchain and cryptocurrency, and does not serve as financial advice.

What is Blockchain?

To understand cryptocurrency, it’s necessary to first understand blockchain without the confusing jargon. Many people are reluctant to learn more about blockchain because of the technical terms.

Blockchain is defined as “an immutable public digital ledger” (CNN), “a collection of information that…

Image credits to Ella Wei at Pexels

I’ve been brushing up on my algorithms by focusing on Leetcode Medium problems — or trying to, at least. I came across the Find the Duplicate Number question and learned about the Floyd’s Tortoise and Hare solution. It was a bit challenging to grasp, but with the help of some very useful art and re-reading the code, I decided to share how and why this particular algorithm is so helpful (and time efficient!)

Given an array of integers nums containing n + 1 where each integer is in the range [1, n] inclusive. …

Image credits to React.js

This week, I received some valuable feedback on how to grow as a developer — and that’s to go back to the basics. I’ve been working with React as a Frontend library, and one of the most important features of React and any Frontend library is state management. There are a number of ways of managing state. In this blog, I’ll review three different methods to do so: useState, Redux, and useContext.

State is one of three key features in React: state, components, and props. State is defined as “a built in object…which allows components to create and manage their…

Image credits to Pixabay at Pexels

I was first introduced to microservices when I saw it on a job posting. That led to this quick dive into what exactly microservices are, and how they’re used in regards to software development.

What are microservices?

Microservices is defined as “an architectural approach to building applications” (Red Hat). At the granular level, it is a “cloud native architectural approach in which a single application is composed of many loosely coupled and independently deployable smaller components, or services” (IBM).

Aimee Liang

Software Engineer, writing about Full Stack and Frontend Web (and sometimes Mobile) Development |

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