AWS (4) Algorithm (8) Angular (6) Architecture Pattern (8) Array (9) Ava (2) BFS (1) Backtracking (8) Behavioral Pattern (9) Big Data (2) Binary Search (17) Binary Search Tree (1) Bit Manipulation (2) Blockchain (2) Boost library (1) Bootstrap (2) C++ (13) CSS (6) Caching (1) Clean Code (10) Concurrency Pattern (2) Courses (3) Creational Pattern (4) DDD (7) Data Structure (2) Database (8) Deque (3) Design Pattern (21) DevOps (2) Distributed Pattern (1) Distributed System (4) Docker (2) Drools (1) Dynamic Programming (4) Eclipse (1) English (1) Enterprise Integration Pattern (1) Enterprise Pattern (6) Express (2) Front-End (20) Functional Pattern (1) Functional Programming (14) Git (7) Gradle (1) Graph (2) Hadoop (1) HashMap (2) Heap (1) Hibernate (3) Http Client (3) IAM (1) Intellij (1) Intra-mart (1) Investment (1) J2EE (3) JDBC (1) JMeter (1) JPA (3) JQuery (1) Java (17) JavaFx (1) Javascript (8) Kafka (4) KnockoutJs (2) Kubernetes (2) LaTeX (2) Linux (7) Logging framework (3) Machine Learning (2) Maven (5) Memory management (2) MongoDB (2) Multithreading (18) MySQL (6) Netbeans (1) Network (1) Node.js (12) OOP (5) Operating System (1) Optimization (1) Oracle (1) PostgreSQL (2) Postman (1) Prefix Sum (4) Python (4) Qt (3) Queue (6) Reactive Programming (5) Refactoring (7) Regex (1) Resin (2) Restful API (1) S3 (1) SASS (1) SOAP API (1) SOLID (5) Seasar (1) Servlet (4) Sliding Window (4) Slow-Fast Pointers (1) Sorting (6) Spring (24) Stack (1) Stock (1) Structural Pattern (6) Struts 1 (2) Testing (4) Thymeleaf (2) Tomcat (3) Tree (9) Two-Pointers (11) Typescript (3) UML Diagram (1) Unicode (2) Union-Find (2) VPC (1) Vim (1) VsCode (3) Webpack (1) Windows (1)

 AWS (4)

VPC and Subnets
Some AWS CLI commands for S3
Some AWS CLI commands for IAM
Uploading files with AWS S3 in Spring Boot

 Algorithm (8)

Cyclic sort
Rete algorithm
Leetcode 520 - Detect Flag
Bit manipulation
Some ways to use brute force algorithm
Two pointer technique
Some basic steps for DP
Kadane algorithm

 Angular (6)

How to download excel file in Angular 7
Creating custom two way binding in Angular 7
Data binding in Angular
The architecture of Angular
Angular project structure
Common commands in Angular CLI

 Architecture Pattern (8)

Clean Architecture
Layered architecture pattern
Event-driven architecture pattern
MVP architectural pattern
MVC architecture pattern
Domain Driven Design
What is Domain Driven Design ?
Tại sao - Domain Driven Design ?

 Array (9)

Leetcode 290 - Word Pattern
Leetcode 448 - Find All Numbers Disappeared in an Array
Leetcode 268 - Missing Number
Leetcode 287 - Find The Duplicate Number
Leetcode 33 - Search In Rotated Sorted Array
Max consecutive Ones II
Leetcode 162 - Find Peak Element
Search for a range
Kadane algorithm

 Ava (2)

Debug Node.js using AVA framework
Using ava testing framework

 BFS (1)

Leetcode 102 - Level Order Traversal

 Backtracking (8)

Leetcode 2389 - Longest Subsequence With Limited Sum
Leetcode 518 - Coin Change II
Letter Combinations of a Phone Number
Combination Sum
Combination Sum II
Combinations
Leetcode 90 - Subsets II
Subset

 Behavioral Pattern (9)

Observer pattern
Mediator pattern
Strategy pattern
Visitor pattern
State pattern
Mememto pattern
Command pattern
Null object pattern
Chain of Responsibility pattern

 Big Data (2)

MapReduce in Hadoop
Introduction to Hadoop ecosystem
Leetcode 2389 - Longest Subsequence With Limited Sum
Leetcode 2089 - Find Target Indices After Sorting Array
Leetcode 540 - Single Element in a Sorted Array
Leetcode 2529 - Maximum Count of Positive Integer and Negative Integer
Leetcode 441 - Arranging Coins
Leetcode 69 - Sqrt(x)
Leetcode 209 - Minimum Size Subarray Sum
Leetcode 153 - Find Minimum in Rotated Sorted Array
Leetcode 1348 - Tweet Counts Per Frequency
Leetcode 1346 - Check If N and its Double Exists
Leetcode 1413 - Minimum value to get positive step by step sum
Leetcode 933 - Number of Recent Calls
Leetcode 33 - Search In Rotated Sorted Array
How to use binary search
Leetcode 35 - Search insert position
Leetcode 162 - Find Peak Element
Search for a range
Leetcode 300 - Longest Increase Subsequence

 Bit Manipulation (2)

Bit manipulation
Check whether number if power of two

 Blockchain (2)

Transaction pool in Blockchain
Why the total number of bitcoin is limited?

 Boost library (1)

Setup C++ Boost Library

 Bootstrap (2)

Learn basic bootstrap - part 2
Learn basic bootstrap - part 1

 C++ (13)

Understanding configuration in QT
Reading file in competitive programming in C++
Multithreading in Qt
Use timeout for connection in QT
Understanding about multithread in C++
Calling private method from outside in C++
Problem when using push_back() function of vector in v8 or NAN
How to use char, wchar_t, char16_t and char32_t right a way in C++
Debugging with C++ in Visual Studio Code
Setup C++ Boost Library
How do vector work in STL/C++?
Optimizing vector in C++
How to configure C++ addon in Node.js

 CSS (6)

How to center things in CSS
Some common problems and avoid them in BEM/CSS
Use BEM with CSS
Use position property in CSS
The difference between visibility:hidden and display:none in CSS
The difference between line-height property and height property in CSS

 Caching (1)

Some useful commands in Redis

 Clean Code (10)

Understanding about defensive programming
Working with Nulls in Java
Using frameworks for validation in Java
Clean code with validate input
Some websites for clean code
Clean code with class
Clean code with Exception Handling
Clean code with Constructor
Clean code with Method
Clean code - Surface level

 Concurrency Pattern (2)

Fire and forget pattern
Producer/Consumer Pattern

 Courses (3)

Some outstanding courses about clean code and design patterns in Java
Some websites and ebooks for learning architecture pattern
Some interesting courses for Java

 Creational Pattern (4)

Builder Pattern
Factory Method Pattern
Singleton Pattern
Abstract Factory Pattern

 DDD (7)

Domain Model Pattern
Ubiquitous Language in DDD
Value Object pattern
Repository pattern
Domain Driven Design
What is Domain Driven Design ?
Tại sao - Domain Driven Design ?

 Data Structure (2)

Some common concepts of tree
How to solve tree problems recursively

 Database (8)

Pessimistic locking and Optimistic locking
How to work with Debezium
How to use indexes in MySQL
Understanding about clustered index in RDBMS
Understanding about ACID properties in database
How relational database works
Understanding Normalization in Database Design
Understanding about B-Tree index in RDBMS

 Deque (3)

Leetcode 950 - Reveal Cards In Increasing Order
Leetcode 239 - Maximum of all subarrays of size k
M.KAGAIN

 Design Pattern (21)

Facade pattern
Composite pattern
How to apply Builder pattern with Inheritance
Flyweight pattern
Adapter pattern
Bridge pattern
Decorator pattern
Observer pattern
Mediator pattern
Strategy pattern
Some ways to create Singleton class in Java
Visitor pattern
State pattern
Mememto pattern
Command pattern
Builder Pattern
Factory Method Pattern
Singleton Pattern
Null object pattern
Abstract Factory Pattern
Chain of Responsibility pattern

 DevOps (2)

Some useful commands in kubectl
How to setup Kubernetes on Windows

 Distributed Pattern (1)

Publisher-subscriber pattern

 Distributed System (4)

Understanding about RESTful system
Some latency numbers that we need to know
CAP Theorem of the distributed system
Caching in the Distributed System

 Docker (2)

Understanding about Docker
How to use Docker Compose

 Drools (1)

How to use Drools Language Syntax

 Dynamic Programming (4)

Leetcode 300 - Longest Increase Subsequence
Leetcode 518 - Coin Change II
Leetcode 392 - Is Subsequence
Some basic steps for DP

 Eclipse (1)

Some useful short keys in Eclipse

 English (1)

Some ways to replace LIKE word

 Enterprise Integration Pattern (1)

Introduction to Enterprise Integration Patterns

 Enterprise Pattern (6)

Data Transfer Object
Pessimistic locking and Optimistic locking
Command Bus pattern
Event Bus pattern
Unit of Work Pattern
DAO pattern in Java

 Express (2)

Pass data from backend to html in Node.js - Express framework
How to setup Express framework and some necessary packages

 Front-End (20)

Data binding in KnockoutJS
Understanding about KnockoutJS
How to center things in CSS
The history of Javascript
New features in ES6
New features in ES5
Understanding this keyword in Javascript
Some common problems and avoid them in BEM/CSS
Use BEM with CSS
The architecture of Angular
Knowledge about SASS
Use position property in CSS
Angular project structure
The difference between visibility:hidden and display:none in CSS
Common commands in Angular CLI
The difference between line-height property and height property in CSS
Learn JQuery - Selectors
Some ways to get selector in CSS
Learn basic bootstrap - part 2
Learn basic bootstrap - part 1

 Functional Pattern (1)

Monad Pattern

 Functional Programming (14)

How to use High-Order function technique
Understanding Optional in Java 8
Understanding about Functional Interfaces in Java 8 - Function
Understanding about Functional Interfaces in Java 8 - Predicate
Understanding about functional interface in Java 8
Understanding about functional programming in Java
Some points to remember when using Lambda in Java
Understanding about Functional Interfaces in Java 8 - Supplier
Understanding about Functional Interfaces in Java 8 - Consumer
Some important concepts in Functional Programming
Functional programming with handling errors
How to use currying technique
Best practice for Optional in Java
Understanding about stream in Java 8

 Git (7)

Some useful commands with commit in Git
Some useful commands with branch in Git
Some useful commands with repository in Git
Some useful commands with configuration in Git
Some useful commands with files and folders in Git
How to use git stash
Common problems with Git

 Gradle (1)

Understanding configuration in Gradle - Java

 Graph (2)

Depth First Search in Graph
Breadth First Search in Graph

 Hadoop (1)

Introduction to Hadoop ecosystem

 HashMap (2)

Leetcode 1346 - Check If N and its Double Exists
Three sum to Zero

 Heap (1)

Heap sort

 Hibernate (3)

The lifecycle of Entity's state in Hibernate
How to configure Hibernate correctly in our project
Create Java application project with Hibernate

 Http Client (3)

How to use HttpURLConnection to communicate with other systems
How to use Spring RestTemplate to communicate with other systems
How to use Apache HttpClient to communicate with other systems

 IAM (1)

Some AWS CLI commands for IAM

 Intellij (1)

Some shortcut keys in Intellij IDEA

 Intra-mart (1)

Introduction to Intra mart Accel platform

 Investment (1)

Các loại lệnh giao dịch chứng khoán

 J2EE (3)

How to use CDI in JavaEE
How to solve common problems when using Tomcat
Producers and Disposers in Java EE

 JDBC (1)

How to use JDBC to connect database in Java project

 JMeter (1)

How to use JMeter to test performance

 JPA (3)

Understanding about OneToMany relationship with JPA
The architecture of JPA
Basic entity class in JPA

 JQuery (1)

Learn JQuery - Selectors

 Java (17)

How to convert int[] to List of Integer
How to use Java NIO API
Some ways to loop in Java
Understanding about Java NIO API - How to use asynchronous operations
Understanding about Zero copy
Understanding about Java NIO API - How to use Channel, Buffer
The different between Web server, Web container and Application server
How to use Dates and Times in Java 8
How to use JaxB to work with Xml
How to use CharacterStream in Java.IO package
Summary about Collections in Java
Fix problem when installing many JDK version
Common problems in Java
How to use array in Java
Use Scanner in Java correctly
Annotations in Java
Implementation with file in Java

 JavaFx (1)

Creating JavaFX project with Maven

 Javascript (8)

Understanding about Event Loop in Node.js
Data binding in KnockoutJS
Understanding about KnockoutJS
The history of Javascript
New features in ES6
New features in ES5
Understanding this keyword in Javascript
Copy object in Javascript

 Kafka (4)

Understanding about Kafka
Topic in Kafka
Producer in Kafka
How to setup Kafka in Linux

 KnockoutJs (2)

Data binding in KnockoutJS
Understanding about KnockoutJS

 Kubernetes (2)

Some useful commands in kubectl
How to setup Kubernetes on Windows

 LaTeX (2)

Start with LaTeX
Creating table in LaTeX

 Linux (7)

How to use variable in Linux
grep command in Linux
How to use functions in Linux
Some necessary commands in Linux
nohup command in Linux
awk command in Linux
How to write simple shell scripts in Linux

 Logging framework (3)

How to use Logback in Spring boot
Understanding about Log4j 1.x framework
Understanding about Log4j 2.x framework

 Machine Learning (2)

Gradient Descent algorithm
Linear Regression

 Maven (5)

How to configure certificate in Maven project
Some useful commands in Maven
Creating JavaFX project with Maven
Understanding about project lifecycle in Java
Configure pom.xml with maven in Java Spring

 Memory management (2)

Optimization with Locality of Reference
Cache Memory with Locality of Reference

 MongoDB (2)

Creating project with Spring Webflux and MongoDB
Some common implementation with MongoDB

 Multithreading (18)

How to use ThreadFactory in Java
Ordering Read and Writes operations on a multiple core CPU
Understanding basic concepts in Java's multithreading
Waiting threads to finish completely in Java
Some problems when using multithreading in Java
Some problems when using CyclicBarrier
CountDownLatch in Java's Multithreading
How to use CompletableFuture and Callable in Java
Lifecycle and states of Java's threads
Atomic variables in Java
Reentrant lock in Java
How to use ReentrantLock in Java
CyclicBarrier in Java's Multithreading
Using wait, notify in synchronized method/block of Multithreading Java
How to use ExecutorService framework in Multithreading Java
Multithreading in Qt
Understanding about multithread in C++
How to use collections in Java's Multithreading

 MySQL (6)

How to use indexes in MySQL
Understanding about clustered index in RDBMS
The comparison between MySQL and PostgreSQL
How to use command line to do with MySQL
Note about commands in MySQL
Creating new databases in MySQL

 Netbeans (1)

Some useful shortcut keys in Netbeans

 Network (1)

HTTP protocol

 Node.js (12)

Understanding about Event Loop in Node.js
Debugging Node.js project with Typescript
Create a Typescript project in Node.js
How to integrate Typescript into Node.js
Debug Node.js using AVA framework
Problem when using push_back() function of vector in v8 or NAN
Using ava testing framework
Configure binding.gyp file in C++ Addon - Node.js
What is EJS?
Pass data from backend to html in Node.js - Express framework
How to setup Express framework and some necessary packages
How to configure C++ addon in Node.js

 OOP (5)

Some important principles of OOP
Some important concepts of OOP
Encapsulation in Object Oriented Programming
Why extends is evil
Coupling and cohesion in OOP

 Operating System (1)

Understanding about Zero copy

 Optimization (1)

Optimization with Locality of Reference

 Oracle (1)

Some common operations with user account in Oracle database

 PostgreSQL (2)

Some useful SQL queries in PostgreSQL
The comparison between MySQL and PostgreSQL

 Postman (1)

Some useful tips for utilizing Postman

 Prefix Sum (4)

Leetcode 2389 - Longest Subsequence With Limited Sum
Leetcode 209 - Minimum Size Subarray Sum
Leetcode 1413 - Minimum value to get positive step by step sum
Prefix sum

 Python (4)

OOP in Python
Statements in Python
Common data types in Python
Common problems in Python

 Qt (3)

Understanding configuration in QT
Multithreading in Qt
Use timeout for connection in QT

 Queue (6)

Leetcode 2389 - Longest Subsequence With Limited Sum
Leetcode 1823 - Find the Winner of the Circular Game
Leetcode 1700 - Number of Students Unable to Eat Lunch
Leetcode 933 - Number of Recent Calls
Leetcode 102 - Level Order Traversal
Letter Combinations of a Phone Number

 Reactive Programming (5)

Understanding about Event Loop in Node.js
What is Reactive programming in Java
Understanding about Spring Webflux
Creating project with Spring Webflux and MongoDB
How to use Processor in Java's Reactor

 Refactoring (7)

Refactoring conditional complexity
Refactoring with Optional Object
Fixing Object oriented abusers
Dealing with change preventers
Refactoring with splitting bloaters
Refactoring couplers
Refactoring with Object Creation

 Regex (1)

Understanding about Regular Expression

 Resin (2)

Some notes about Resin web application server
Configure Resin in e-Builder

 Restful API (1)

How to configure the endpoint and response format of RESTful API

 S3 (1)

Some AWS CLI commands for S3

 SASS (1)

Knowledge about SASS

 SOAP API (1)

Understanding about SOAP Webservice

 SOLID (5)

Understanding about SOLID - Single Responsibility Principle
Understanding about SOLID - Dependency Inversion Principle
Understanding about SOLID - Interface Segregation Principle
Understanding about SOLID - Liskov Substitution Principle
Understanding about SOLID - Open Closed Principle

 Seasar (1)

Seasar framework

 Servlet (4)

Understanding configuration in web.xml file
Create Java project with Servlet, JSP in Eclipse
How Servlets work in Java
How JSP works in Java

 Sliding Window (4)

Leetcode 209 - Minimum Size Subarray Sum
Leetcode 3 - Longest Substring Without Repeating Characters
Leetcode 239 - Maximum of all subarrays of size k
Max consecutive Ones II

 Slow-Fast Pointers (1)

Happy Number

 Sorting (6)

Cyclic sort
Heap sort
Bubble sort
Binary Insertion sort
Selection sort
Insertion sort

 Spring (24)

How to implement programmatic transaction management in Spring Data JPA
How to implement declarative transaction management in Spring Data JPA
Introduction to transaction in Spring Data JPA
How to use @Async annotation in Spring
Sending email with Spring boot
Read properties file in Spring
How to use Spring RestTemplate to communicate with other systems
How to create multi-modules project in Spring
How to use Logback in Spring boot
Understanding about Spring Webflux
Creating project with Spring Webflux and MongoDB
How to use Processor in Java's Reactor
Fundamental about Spring Security
Logout in Spring Boot
Uploading files with AWS S3 in Spring Boot
Problem about role name in Spring security
How Spring Caching mechanism works
Annotations in Spring Caching
Remember-me mechanism in Java Spring
The mechanism of Spring security
Understanding about configurations in Java Spring Boot's application.properties file
Go deeper into Annotation - @Configuration
How to get different beans from configuration xml file in the same class - Spring MVC
How does Spring MVC works in Java

 Stack (1)

Hacker Rank - Super Reduced String

 Stock (1)

Các loại lệnh giao dịch chứng khoán

 Structural Pattern (6)

Facade pattern
Composite pattern
Flyweight pattern
Adapter pattern
Bridge pattern
Decorator pattern

 Struts 1 (2)

How Struts 1 framework works
How to configure in Struts 1 framework

 Testing (4)

How to use JMeter to test performance
Some useful tips for utilizing Postman
Debug Node.js using AVA framework
Using ava testing framework

 Thymeleaf (2)

Implementation with layout in thymeleaf
Command syntax in thymeleaf engine

 Tomcat (3)

Understanding configuration files in Tomcat
How to solve common problems when using Tomcat
Configure Tomcat for Java web

 Tree (9)

Leetcode 236 - Lowest Common Ancestor Of A Binary Tree
Leetcode 543 - Diameter of Binary Tree
Leetcode 1348 - Tweet Counts Per Frequency
Leetcode 102 - Level Order Traversal
Some common concepts of tree
How to solve tree problems recursively
Preorder traversal in Binary Tree
Postorder traversal in Binary Tree
Inorder traversal in Binary Tree

 Two-Pointers (11)

LeetCode 925 - Long Pressed Name
Leetcode 905 - Sort array by parity
Leetcode 283 - Move Zeros
Leetcode 27 - Remove multiple elements with the given value
Leetcode 392 - Is Subsequence
Leetcode 11 - Container With Most Water
Leetcode 125 - Valid Palindrome
Leetcode 16 - Three sum closet
Two pointer technique
Count number of car failure
Three sum to Zero

 Typescript (3)

Debugging Node.js project with Typescript
Create a Typescript project in Node.js
How to integrate Typescript into Node.js

 UML Diagram (1)

The different types of interfaces in UML diagram

 Unicode (2)

Dive into Encoding with Unicode
How to use char, wchar_t, char16_t and char32_t right a way in C++

 Union-Find (2)

Quick Union
Quick Find

 VPC (1)

VPC and Subnets

 Vim (1)

The neccessary commands in VIM

 VsCode (3)

Debugging with C++ in Visual Studio Code
Setting Paths in Vs Code
Some important shortkey in Visual Studio Code

 Webpack (1)

Understanding configuration with Webpack and Babel

 Windows (1)

Some useful commands in Windows