VerbalExpressions - RegularExpression made easy

Một trong những đối tượng chính của programming là string. Khi tiếp cận với bất cứ ngôn ngữ nào mới, thứ tự học của bạn có lẽ sẽ theo trình tự như sau: variable, assignment, string, operators… Rõ ràng xử lý chuỗi là việc không thể thiếu trong công cuộc kiếm cơm của dev chúng ta :)

Có 1 số tác vụ xử lý chuỗi thường gặp như: check match, replace,… Trong số đó có 1 vấn đề chung cần giải quyết là phải tìm cách xác định được 1 pattern nào đó trong string, tìm ra được phần mà bạn cần tương tác. Nhiều khả năng khi mới học lập trình bạn đã giải quyết vấn đề đó như thế này:

1
2
3
4
5
6
7
int checkMatchStubPattern(char* string) {
for(int i = 0; i < strlen(string); i++) {
// logic for checking string pattern
...
}
return ...
}

Read More

Share 0 Comments

Redirect logged-in users when accessing login page

Introduction

TLDR

How to redirect logged-in users when they access some specific pages such as: login, register,… with Spring Security.

Any website implements authentication need to solve a common problem, it is redirecting user when they access based on authentication (or authorization). For example: user will be redirect to login page when the user is not yet logged in; or user will be redirected to deny page when the user don’t have enough permission.

Most of tutorial for implementing login/logout mechanism with Spring Boot in github guides using HttpSecurity class for route protection. But they do not account of not allowing user accessing login/register page when they already logged in; in my opinion it should be redirect to home page when they access /login page.

After searching but not finding any solutions; I propose a method of using Principal and Authentication class of Spring Security.

Read More

Share 0 Comments

Sách mình đã đọc trong năm 2018

Chuyện bắt đầu từ chuyến về VN đợt tuần lễ vàng 2018; mình có qua nhà thầy chơi. Trong lúc trò chuyện thầy có hỏi đã đọc xong cuốn “Tiếng chim hót trong bụi mận gai” chưa. Nguyên cớ là ngày xưa trong 1 buổi học thầy có hỏi tháng tới có định làm gì chưa, để cuộc đời có vẻ đỡ nhạt nhẽo mình đã nói là em sẽ đọc cuốn này.

Và mãi vẫn chưa đọc, đến tận mấy hôm sau vẫn nghĩ là chưa đọc. Chỉ trong lúc đi mua sách mới nhận ra là đọc rồi mà quên mất tiêu 😐

Đó là lý do bài viết này ra đời, liệt kê những cuốn sách mình đã đọc cũng như đánh giá cá nhân của mình về cuốn sách đó.

Read More

Share 0 Comments

Ngày mai rồi sẽ đi về đâu?

Nhật Bản - 1 buổi sáng mùa xuân

Lâu lắm rồi mới thức xuyên đêm như thế này. Trời dần sáng, rồi khi đã nhìn rõ quang cảnh thì bước ra cửa hít 1 hơi thật sâu. Mùi hương của đất, cây cỏ lúc rạng đông nhẹ nhàng toả lên. A, mùi hương này quen lắm này.

Read More

Share 0 Comments

Kinh nghiệm tổ chức ăn nhậu tại Nhật

Mình vốn là 1 thanh niên hay ăn nhậu, hồi ở nhà thỉnh thoảng cũng đi tìm quán cho anh em :3

Qua đến trời Đông chắc sếp cũng thấy được năng khiếu ăn nhậu nên cũng được phân công đi đặt quán, thu tiền,… (幹事人) đôi lần. Xin note lại đây cho anh em đi sau có phải làm chân lon ton như mình đỡ tốn công tìm tòi hỏi han.

Read More

Share 0 Comments

Vài suy nghĩ khi đọc sách về kỹ thuật

Mình đang đọc sách về Scrum/Agile thì gặp ở nguyên lý số 10 một câu như thế này:

Sự đơn giản - nghệ thuật tối đa hoá lượng công việc chưa xong - là căn bản.

"Nguyên lí" hay "Nguyên lý"

Phần không hiểu ở đây là đoạn ở giữa phần dấu gạch “nghệ thuật tối đa hoá lượng công việc chưa xong”. Càng cố ngẫm nghĩ thì lại càng thấy rối và lạc trong chính suy nghĩ của mình.

Read More

Share 0 Comments

Chuyển tiền về Việt Nam với TransferWise

Ở Nhật có vẻ khá phổ biến chuyện chuyển tiền tay 3 (chuyển Yên cho người cần Yên và người đó sẽ chuyển VNĐ cho người nhà mình), tỉ giá thường sẽ tốt hơn, nhanh hơn so với ngân hàng; thế nhưng khả năng mất tiền khá cao. Hơn nữa khi chuyển tiền tay 3 thì sẽ không thể làm 1 số thủ tục như khai báo người phụ thuộc được. Gần đây mình mới chuyển tiền qua TransferWise và thấy khá ổn (tỉ giá, thời gian,…) nên xin viết lại vài dòng giới thiệu dịch vụ.

Read More

Share 0 Comments

Thủ tục cần làm khi nhập cảnh Nhật Bản

Bài này mình sẽ note lại mấy điểm cần lưu ý khi sang Nhật Bản làm việc; nội dung dựa trên kinh nghiệm của mình nên có thể sẽ sai khác 1 chút với các bạn sang Nhật cho những mục đích khác.

Read More

Share 0 Comments

Secure Spring Boot application with Let's Encrypt

Introduction

Spring boot and Let’s Encrypt is both widely used in the industry. Spring Boot gives power to make a Spring-powered application easily; while Let’s Encrypt offers free SSL/TLS certificates for enabling secure HTTPS connections between client and server (the most easily recoginized is that the browser will show a green padlock beside the URL).

But to integrate them has some difficulties as below:

  1. Certificates offered by Let’s Encrypt are valid for only 90 days; renewing process needs to be processed gradually.
  2. Spring Boot needs to restart to adopt new certification. Which quite painful.
  3. Let’s Encrypt program offer key in PEM files, while Spring Boot supports for PKCS12 type. It is neccesary to convert certificate and private key to PKCS12.

Read More

Share 0 Comments

Good design

Less, but better

H.C. Dieter Rams là 1 nhà thiết kế công nghiệp nổi tiếng. Ông có 10 triết lý về “Good design”; 1 số nơi có dịch là thiết kế chuẩn, thiết kế tốt. Do chưa hiểu nghĩa của từ này lắm nên mình sẽ giữ nguyên từ “Good design”.

Read More

Share 0 Comments