Dependency Injection and Dependency Inversion
Dependency injection and dependency inversion are two terms that often come together but serve distinct meanings and purposes.
Dependency injection and dependency inversion are two terms that often come together but serve distinct meanings and purposes.
Flaky tests and brittle tests are two common pitfalls that make our tests unreliable and hard to maintain. In this post, I will illustrate these concepts wit...
Previously, I posted a tutorial on creating and configuring an Amazon VPC by using AWS CDK. All the examples in that post are based on L1 constructs to illus...
Memory management in modern programming languages is well-abstracted away from programmers. We do not have direct control over how our programs allocate and ...
What is Property Based Testing? Property based testing, which is known to be originated by QuickCheck, is a testing technique which randomly generates test c...
This post is a quick tutorial to build a very simple serverless function using Amazon API Gateway and AWS Lambda.
Consumer-driven contract testing (or CDC for short) is a testing methodology that ensures that providers are compatible with the expectations that the consum...
The single-responsibility principle is one of the SOLID principles, the most widely accepted software design guide. I intentionally added “widely accepted” t...
The AWS CDK(Cloud Development Kit) is an open-source framework to provision and manage the cloud resources using familiar programming languages.
A couple years ago, I discovered an issue caused by a race condition that occured in the backend application I was maintaining. So I implemented a simple dis...
The circle-ellipse problem, or square–rectangle problem, illustrates a limitation of OOP (object-oriented programming). Specifically, it violates the Liskov ...
A descriptor in Python is a class attribute which defines any of the special methods: __get__(self, obj, owner=None) -> value __set__(self, obj, valu...
Flask and Sanic Flask is one of the most popular micro web frameworks written in Python and I love using it for developing a wide range of web services becau...
A CPU scheduler is an operating system module that decides which process in the ready queue is allocated a CPU. It checks all of the tasks in the ready queue...
Thread Data Structures A user-level threading library has its own user-level thread data structure to represent threads in order to schedule and synchronize ...
pthreads stands for POSIX Threads which is the de facto standard threading related API that operating systems need to support for thread managements. Almost ...
A traditional process has a single execution context that can only execute at one CPU at a given point of time. If a process can have multiple execution cont...
Definition A process is an instance of an executing program. It is also referred to as a “task” or “job”.
Definition An operating system, or OS, is just a software that abstracts and arbitrates the underlying hardware components in computer systems.
Flaky tests and brittle tests are two common pitfalls that make our tests unreliable and hard to maintain. In this post, I will illustrate these concepts wit...
Previously, I posted a tutorial on creating and configuring an Amazon VPC by using AWS CDK. All the examples in that post are based on L1 constructs to illus...
Memory management in modern programming languages is well-abstracted away from programmers. We do not have direct control over how our programs allocate and ...
What is Property Based Testing? Property based testing, which is known to be originated by QuickCheck, is a testing technique which randomly generates test c...
Consumer-driven contract testing (or CDC for short) is a testing methodology that ensures that providers are compatible with the expectations that the consum...
Previously, I posted a tutorial on creating and configuring an Amazon VPC by using AWS CDK. All the examples in that post are based on L1 constructs to illus...
On April 14, my teammates and I participated in AWS GameDay 2023 and took 1st place. (team name: justintime @buzzni)
This post is a quick tutorial to build a very simple serverless function using Amazon API Gateway and AWS Lambda.
The AWS CDK(Cloud Development Kit) is an open-source framework to provision and manage the cloud resources using familiar programming languages.
Previously, I posted a tutorial on creating and configuring an Amazon VPC by using AWS CDK. All the examples in that post are based on L1 constructs to illus...
In this post, I am going to share my experience of configuring GitOps for a continuous deployment process. (FYI, you may refer to the following content for c...
Since I’ve bootstrapped a K8s cluster and been administrating all by myself, I’ve encountered many problems and I have had to solve them on my own. One chall...
A CPU scheduler is an operating system module that decides which process in the ready queue is allocated a CPU. It checks all of the tasks in the ready queue...
A couple years ago, I discovered an issue caused by a race condition that occured in the backend application I was maintaining. So I implemented a simple dis...
Most programmers would be familiar with some fundamental sorting algorithms such as bubble sort, selection sort, insertion sort, and merge sort. Then which a...
Dependency injection and dependency inversion are two terms that often come together but serve distinct meanings and purposes.
The single-responsibility principle is one of the SOLID principles, the most widely accepted software design guide. I intentionally added “widely accepted” t...
The circle-ellipse problem, or square–rectangle problem, illustrates a limitation of OOP (object-oriented programming). Specifically, it violates the Liskov ...
Dependency injection and dependency inversion are two terms that often come together but serve distinct meanings and purposes.
The single-responsibility principle is one of the SOLID principles, the most widely accepted software design guide. I intentionally added “widely accepted” t...
The circle-ellipse problem, or square–rectangle problem, illustrates a limitation of OOP (object-oriented programming). Specifically, it violates the Liskov ...
The organization I am currently working at develops applications built on microservice architecture, and we were trying to follow the internal policy that th...
Consumer-driven contract testing (or CDC for short) is a testing methodology that ensures that providers are compatible with the expectations that the consum...
Any web developer would know about HTTP buy may not be familiar with the exact syntax of it because it’s abstracted by the network libraries.
A couple years ago, I discovered an issue caused by a race condition that occured in the backend application I was maintaining. So I implemented a simple dis...
pthreads stands for POSIX Threads which is the de facto standard threading related API that operating systems need to support for thread managements. Almost ...
pthreads stands for POSIX Threads which is the de facto standard threading related API that operating systems need to support for thread managements. Almost ...
Consumer-driven contract testing (or CDC for short) is a testing methodology that ensures that providers are compatible with the expectations that the consum...
This post is a quick tutorial to build a very simple serverless function using Amazon API Gateway and AWS Lambda.
This post is a quick tutorial to build a very simple serverless function using Amazon API Gateway and AWS Lambda.
In this post, I am going to share my experience of configuring GitOps for a continuous deployment process. (FYI, you may refer to the following content for c...
Code Simplicity by Max Kanat-Alexander is an ambitious effort to define a set of principles, rules, and laws for software development. In my opinion, this is...