Photo by Jeremy Avery on Unsplash

I like using Lambda Expression because it makes my code cleaner. However, I realized I didn’t fully understand why and how Lambda Expression works. In this post, I’d like to share what I learned about Anonymous Class, Functional Interface, and Lambda Expression.

Anonymous Inner Class

Suppose you have an interface Animal.

Let’s declare a class Pig that implements the interface Animal.

We can now instantiate this class with the new keyword.

Animal pig = new Pig();

This was wordy. What if there’s a much shorter way?


Photo by Alex wong on Unsplash

There’s a difference between software that works and software that works right. Building software that works, only considering its behavior, is a job half-done. Software engineers should build flexible and scalable software that works right by also considering its structure. Good software comes from good structure and good structure comes from good architecture. Therefore, it is important to think like a Software Architect.

Object-Oriented Programming

Nine out of ten describes Object-Oriented Programming (OOP) as “a way to model the real world” or using the concepts: encapsulation, inheritance, and polymorphism. …


Have you ever said “My application runs perfectly on my laptop, but not when I deploy in the cloud.” or “My colleague and I have the same code base. It works on my colleague’s laptop, but it doesn’t work on my local laptop.”?

Wouldn’t it be lovely if you can magically encapsulate your environment along with your code and share or deploy it as a whole package?

Luckily, Docker can exactly do that for you.

In this post, I’d like to share what I’ve learned so far about Docker and answer questions like “What is Docker?”, “How does Docker work?”…


In my previous post, I discussed what Functional Programming is and the benefits of adopting Functional Programming in Object-Oriented languages. Now, let’s get our hands dirty and apply Functional Programming in Java.

Photo by Michael Dziedzic on Unsplash

Before I begin, I want to clarify what I mean by adopting Functional Programming. Some people can say that they’ve adopted Functional Programming by simply implementing first-class functions or pure functions. However, I think it’s only half correct. Adopting Functional Programming is not only using the techniques of Functional Programming but understanding the conceptual difference between Object-Oriented Programming and start programming in a functional way. …


Please read my previous post before you continue reading.

In my previous post, I showed how using Functional Interface and Lambda Expression adds syntactic sugar to the code. It’s a good enough reason why we should consider using those. However, is that all they offer? There must be more reasons why Java introduced these concepts.

To get straight to the answer, Functional Interface and Lambda Expression allow us to adopt Functional Programming in Java. Wait a minute. Wasn’t Java an Object-Oriented programming language? …


Flutter is amazing! You can build iOS apps and android apps with one codebase. Although it is yet in the beta channel, Flutter also supports the web. Flutter implemented its core drawing layer on top of standard browser APIs and compiled Dart to JavaScript instead of ARM machine code used for mobile applications. If you have experience developing Flutter apps, you can easily develop a web app using Flutter.

This post will guide you on how to set up, run, and deploy Flutter web app.

Want to read this story later? Save it in Journal.

I. Set up

Requirement: Flutter SDK, Chrome…

Sohee Kim

Intern @ PurpleLabs | CS @ Mount Holyoke College ’23

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