import "math"
func maxArea(height []int) int {
var start = 0
var end = len(height) - 1
var maxArea float64 = 0
var width = end;
for start < end {
maxArea = math.Max(maxArea, math.Min(float64(height[start]), float64(height[end]))* float64(width) )
if(height[start] < height[end] ) {
start++
} else {
end--
}
width--

}
return int(maxArea);
}

https://play.golang.org/p/bTJ6IbcIzb2


Fibonacci is very famous example for recursion in programming, however if we use recursive the function, the time complex is 2^n, so we will use dynamic to resolve this problem.

Fibonacci is a sequence number with formal

F0 = 0, F1 = 1,Fn = Fn-2 + Fn-10, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, ...

The ideas is very simple, we will calculate the value fibonacci from 0 to n and saving to the map. …


Recently our app rate is low so the business team has tried to in-app review for iOS and after 3 months the rate has been increased from 2.5 to 3.5 for 2 months. So it is so great, right? so in this article, we will implement in-app review for Android.

Edit 2020/12/07

After a week release in-app review we got the rating star from 2.3 -> 3.6 it is unbelievable

Edit 2020/12/10

Our app rating now is 4.2


I have many ec2 instances are running on AWS, at the begin every time I want to ssh to ec2 instance, I need to check the domain name, the .pem files and then I have to log in to the AWS console. Basically, I can use an alias but seems it is not a good way. So then I think that saving these server host’s information to the ssh config file is the better way.

Create a file in ssh

vi ~/.ssh/config

and add hosts you want to ssh

Hostname: Is ec2 Public DNS

User: ec2-user (as default, you…


Đã lâu lắm rồi, hôm nay mới ngồi viết được một bài trên medium, không phải mình không có thời gian mà tại mình lười. Ngày xưa cứ nghĩ rằng mình không làm được cái gì đó vì mình không có nhiều thời gian, ví dụ như mình đã từng mua một chiếc đàn guitar để về học nhưng sau 2 tuần lên youtube tự học, bây giờ chiếc guitar đã bám đầy bụi và mình chẳng nhớ là lần cuối cùng mình đánh guitar là từ mấy năm trước rồi nữa. Đợt này cả thế giới đang work from…


  1. UI

Using Coordinator Layout in Android,

Responsive layout support multiple devices

2. Network Request

I firmly believe that most of the applications in the Play Store need to connect to the server to get data, even update or only get. So of course, the network request will be an important part of the full android application. There are some of the network requests in the Android library but the most popular is being used now Retrofit.
If you want to build a simple Retrofit client, please check my previous article.

3. Database

There are many ways we can store the…


I joined Rakuten Pasha, it is a very new service in Rakuten kind of startup from July 2019 as a full-stack web engineer, the manager wanted me to work both on server-side and frontend. However, during this period, the team wants to deliver a PWA app as soon as possible because our service only supports smartphones. In order to keep users, we need to provide an easier way to open the app, users cannot always open chrome and then enter the URL.

First PWA App

So my first task is to build a PWA app. I came from the backend and DevOps side…


1. Lúc về già mình sẽ tuyệt đối không được chủ quan nghĩ rằng còn khoẻ, còn sung sức để nghĩ và làm những việc như hồi thanh niên. Tiền bạc là của con, địa vị là tạm thời, vẻ vang là quá khứ, SỨC KHOẺ là của mình.

2. Lúc về già mình nên quan tâm đến BẢN THÂN, sống thế nào cho vui thì sống, việc nào muốn và thích thì làm, ai nói sao mặc kệ vì mình đâu phải sống vì ý thích hay không thích của người khác, nên sống thật với mình.

3. Lúc…


Mình đã xem bộ phim này từ 5,6 năm trước gì đó và chỉ nhớ là đó là một bộ phim hoạt hình stop motion rất tuyệt vời đến từ Australia, một bộ phim thành công hiếm hoi được sản xuất ngoài kinh đô điện ảnh Hollywood. Hôm nay cuối tuần ở nhà, như một thói quen, mình muốn tìm một phim mỹ (nhưng lại ra phim Úc :D) vừa để xem, cảm nhận vừa để rèn luyện Tiếng Anh. Hôm nay mình không hiểu sao lại nhớ đến Mary and Max và down về xem.

Bộ phim nói về…


In this article, we will implement a function upload file with Retrofit2 for android. Retrofit2 is one of the most popular network request libraries for android.

1. Add retrofit 2 to gradle file (app level).

// retrofit, network request
implementation 'com.squareup.retrofit2:retrofit:2.6.1'
implementation 'com.squareup.retrofit2:converter-gson:2.3.0'

We also add Gson package which is used to parse JSON to Object when we get JSON return from API and of course we can convert a java object to JSON when we send post to the server.

2. Create Retrofit Instance


public class RetrofitClientInstance {

private static Retrofit retrofit;
private static final String BASE_URL_API = BuildConfig.WEB_URL_API;

public static Retrofit getRetrofitInstance()…

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