Leetcode String & Subarray Problems

When asked string related problems, we usually represent string in another data structure such as array or hashmap. The frequency, last index or index lists are commonly used as the values in an array or hashmap. Sliding window is an very useful algorithm to solve these problems. Sometime, we could split the string in to many substring by using divide and conquer approach to solve the problem. In most case, string related problems have an O(n) solution.

Read more

Create CI/CD pipeline for Google App Engine with CircleCI 2.0

In previous post, I talked about how to create CI/CD pipeline for AWS Lambda Functions with CircleCI. Today, we are going to create a CI/CD pipeline for GAE(Google App Agine) with CircleCI 2.0.

The reasons I choice GAE are that it is free and zero effort of infrastructure management! Even, we do not need to containerize the application and GAE provides a maven plugin for Java applications, which make the deployment process very simple and smooth.

Read more

Create CI/CD pipeline for AWS Lambda with CircleCI 2.0

Nowadays, CI/CD is one of the minimum requirements of any kinds of software development projects. In this article, I am going to show how to build a CI/CD pipeline for AWS Lambda functions with CircleCI 2.0. We could apply the similar approach to deploy AWS services as well.

Read more

Executors, a short-path or an evil?

When google “java thread pool”, we could find a lot of examples and resources to follow. However, most of them create thread pools by using methods from java.util.concurrent.Executors. This is an easy way to initiate a thread pool but we should avoid this approach in real projects, specially there is high concurrency load in the application.

Read more