Nguyen Vu Hoang Blog

Góc nhìn kỹ thuật cho sản phẩm web hiện đại

Ghi chú về Next.js, React, fintech, backend API và những quyết định kỹ thuật giúp sản phẩm chạy ổn định hơn trong thực tế.

52 bài viết phù hợp

Top 20 API trong AI và Machine Learning bạn nên biết
CONTENT

Top 20 API trong AI và Machine Learning bạn nên biết

Top 20 API trong AI và Machine Learning bạn nên biết

11 phút đọcĐọc bài viết
Cuộc đối đầu giữa Flutter vs Native
CONTENT

Cuộc đối đầu giữa Flutter vs Native

Flutter và React Native là hai framework được rất nhiều người quan tâm ở thời điểm hiện tại. Điểm chung của cả 2 đều là Cross Platform Mobile, build native cho cả Android và iOS. Cả 2 có thể giao tiếp với native để viết các module base on native (gần như bắt buộc). Hãy cùng nhìn qua những ưu điểm và nhược điểm của cả hai công nghệ này nhé.

4 phút đọcĐọc bài viết
Tìm hiểu về NextJS và build ứng dụng đơn giản kết hợp Firebase
CONTENT

Tìm hiểu về NextJS và build ứng dụng đơn giản kết hợp Firebase

Hầu hết các ứng dụng ngày nay được xây dựng dưới dạng Single-page application (SPA) bằng cách sử dụng framework của JavaScript để cho phép người dùng tương tác phong phú hơn. Với một SPA truyền thống, người dùng thực hiện một yêu cầu duy nhất tới server liên quan đến HTML, CSS và JavaScript cần thiết cho ứng dụng. Vì ứng dụng là một loạt các tập lệnh JS, nên nó phải đợi cho đến khi một số gói JS được tải xuống hoàn toàn trước khi có thể thực hiện bất kỳ yêu cầu nào tới server để đưa dữ liệu vào giao diện người dùng. Điều này có nghĩa là có hai lần đi vòng đến server trước khi người dùng có thể tương tác với ứng dụng.

20 phút đọcĐọc bài viết
TypeScript là gì? Toàn bộ kiến thức cơ bản về TypeScript dành cho người mới
CONTENT

TypeScript là gì? Toàn bộ kiến thức cơ bản về TypeScript dành cho người mới

TypeScript là thông tin được khá nhiều lập trình viên, người dùng tìm hiểu trong khoảng thời gian gần đây. Bởi lẽ khái niệm về TypeScript thực tế vẫn còn khá mới mẻ và chưa thực sự phổ biến. Bài viết hôm nay, Vietnix sẽ cập nhật đầy đủ thông tin TypeScript là gì? Những kiến thức cơ bản về TypeScript để bạn đọc có thể tham khảo và hiểu rõ hơn nhé!

11 phút đọcĐọc bài viết
SASS/SCSS là gì?
CONTENT

SASS/SCSS là gì?

Bất cứ một lập trình viên nào đều phải từng làm việc liên quan đến CSS. Tuy nhiên làm việc với CSS thuần một thời gian dài bạn sẽ thấy nó rất nhàm chán. Bạn có thể viết CSS một cách chuyên nghiệp hơn, nhanh và rõ ràng mạch lạc hơn bằng SASS/SCSS.

9 phút đọcĐọc bài viết
Server-side Rendering trong React
CONTENT

Server-side Rendering trong React

Ở một số bài viết trước, mình có viết về React và đã dùng Create React App để thực hiện ví dụ một cách đơn giản và nhanh chóng nhất. Tuy nhiên sử dụng CRA cũng có một số điểm yếu như khi bạn xem source code trên duyệt web thì bạn sẽ chỉ thấy trang gần như trống trơn và chỉ có phần <head> nhưng hầu như không có gì trong <body>

8 phút đọcĐọc bài viết
Continuous Integration là gì, tại sao bạn cần sử dụng nó?
CONTENT

Continuous Integration là gì, tại sao bạn cần sử dụng nó?

Mặc dù không phải tất cả mọi dự án đều có thể đạt được thành công lớn, nhưng vẫn có những phương pháp và thói quen có thể giúp tăng đáng kể cơ hội thành công của một dự án và làm cho việc phát triển trở thành một trải nghiệm thoải mái hơn. Một trong những thói quen đó chính là sử dụng Tích hợp liên tục (Continuous Integration - sau đây tôi sẽ gọi ngắn gọn là CI)

6 phút đọcĐọc bài viết
Jenkins là gì? Build và deploy code nhanh chóng với Jenkins
CONTENT

Jenkins là gì? Build và deploy code nhanh chóng với Jenkins

Jenkins là một opensource dùng để thực hiện chức năng tích hợp liên tục (gọi là CI – Continuous Integration) và xây dựng các tác vụ tự động hóa.

3 phút đọcĐọc bài viết
What's JCoreAPI?
CONTENT

What's JCoreAPI?

This is a product belonging to JITS (One of the leading core banking providers in Vietnam) CoreAPI is considered as Core gateway product integrated with Middleware system. The product is improved and perfected in all aspects (In terms of processing speed, as well as the ability to synchronize products is very high)

2 phút đọcĐọc bài viết
.NET CORE là gì? Tổng quan, phân biệt .NET core, .NET FW, MONO
CONTENT

.NET CORE là gì? Tổng quan, phân biệt .NET core, .NET FW, MONO

Ở bài viết này, chúng ta sẽ tìm hiểu .NET Core là gì, những điểm mạnh của nó. Và các nền tảng .NET Framework, .NET core có gì khác nhau. Cùng mình tìm hiểu qua bài viết này nhé.

7 phút đọcĐọc bài viết
Cài đặt Xamarin
CONTENT

Cài đặt Xamarin

Chúng ta có thể phát triển ứng dụng trên môi trường Windows khi cài đặt Xamarin Studio hoặc Visual Studio để làm trình soạn thảo phát triển ứng dụng. Nếu ứng dụng hướng đến các thiết bị iOS thì bạn cần phải có một máy Mac, có cài đặt Xcode và kèm theo Xamarin Studio cho nền tảng iOS. Cụ thể như sau:

9 phút đọcĐọc bài viết
Tổng quan về Xamarin Forms
CONTENT

Tổng quan về Xamarin Forms

Trong bài viết này chúng ta sẽ cùng nhau đi tìm hiểu về useContext trong React Hooks. Đây là bài viết tiếp nối các bài viết về React Hooks trước đó. Để hiểu rõ hơn về các khái niệm trong bài viêt này chúng ta có thể tham khảo thêm về bài viết React Context API.

4 phút đọcĐọc bài viết
Tìm hiểu Xamarin - Một giải pháp đa nền tảng
CONTENT

Tìm hiểu Xamarin - Một giải pháp đa nền tảng

Trong bài viết này chúng ta sẽ cùng nhau đi tìm hiểu về useContext trong React Hooks. Đây là bài viết tiếp nối các bài viết về React Hooks trước đó. Để hiểu rõ hơn về các khái niệm trong bài viêt này chúng ta có thể tham khảo thêm về bài viết React Context API.

6 phút đọcĐọc bài viết
Xamarin là gì?
CONTENT

Xamarin là gì?

Trong bài viết này chúng ta sẽ cùng nhau đi tìm hiểu về useContext trong React Hooks. Đây là bài viết tiếp nối các bài viết về React Hooks trước đó. Để hiểu rõ hơn về các khái niệm trong bài viêt này chúng ta có thể tham khảo thêm về bài viết React Context API.

2 phút đọcĐọc bài viết
useContext trong React Hooks
CONTENT

useContext trong React Hooks

Trong bài viết này chúng ta sẽ cùng nhau đi tìm hiểu về useContext trong React Hooks. Đây là bài viết tiếp nối các bài viết về React Hooks trước đó. Để hiểu rõ hơn về các khái niệm trong bài viêt này chúng ta có thể tham khảo thêm về bài viết React Context API.

6 phút đọcĐọc bài viết
useEffect trong React Hooks
CONTENT

useEffect trong React Hooks

Trong bài viết này chúng ta sẽ đi tìm hiểu về useEffect trong React Hooks. Ở các bài trước chúng ta đã cùng nhau đi tìm hiểu về useState hooks. Bài viết này sẽ tiếp nối series bằng một hook cũng khá quan trọng đó là useEffect, nó cho phép chúng ta làm việc với life cycle trong functional component.

6 phút đọcĐọc bài viết
Tìm hiểu React Hook useState
CONTENT

Tìm hiểu React Hook useState

Trong bài viết này chúng ta sẽ cùng nhau đi tìm hiểu về React Hook useState. Từ phiên bản 16.8 trở đi React cho ra mắt một tính năng mới đó là React Hooks, nó cho phép chúng ta làm việc với state, life cycle, và hàng loạt tính năng khác trong một functional component.

9 phút đọcĐọc bài viết
Giới thiệu Hooks trong React JS
CONTENT

Giới thiệu Hooks trong React JS

Trong bài viết này ta sẽ tìm hiểu về Higner-Order Components trong React JS, đây là tính năng rất hay trong việc tái sử dụng tài nguyên.

5 phút đọcĐọc bài viết
Quy ước và các phiên bản ngữ pháp trong Python
CONTENT

Quy ước và các phiên bản ngữ pháp trong Python

Việc cài đặt Visual Studio Code rất dễ dàng được thực hiện trên mọi nền tảng. Đầu tiên, bạn hãy truy cập vào trang chủ Visual Studio Code và thực hiện tải bản cài đặt phù hợp cho máy của mình.

6 phút đọcĐọc bài viết
Cài đặt môi trường phát triển Python trên Visual Studio Code
CONTENT

Cài đặt môi trường phát triển Python trên Visual Studio Code

Việc cài đặt Visual Studio Code rất dễ dàng được thực hiện trên mọi nền tảng. Đầu tiên, bạn hãy truy cập vào trang chủ Visual Studio Code và thực hiện tải bản cài đặt phù hợp cho máy của mình.

4 phút đọcĐọc bài viết
Cài đặt Python trên Windows
CONTENT

Cài đặt Python trên Windows

Để download Python, bạn truy cập địa chỉ:

2 phút đọcĐọc bài viết
Giới thiệu về Python
CONTENT

Giới thiệu về Python

Python là một ngôn ngữ lập trình thông dịch (interpreted), hướng đối tượng (object-oriented), và là một ngôn ngữ bậc cao (high-level) ngữ nghĩa động (dynamic semantics).

5 phút đọcĐọc bài viết
Higher-Order Components trong ReactJS
CONTENT

Higher-Order Components trong ReactJS

Trong bài viết này ta sẽ tìm hiểu về Higner-Order Components trong React JS, đây là tính năng rất hay trong việc tái sử dụng tài nguyên.

5 phút đọcĐọc bài viết
Tìm hiểu về Render Props trong ReactJS
CONTENT

Tìm hiểu về Render Props trong ReactJS

Trong bài này chúng ta sẽ cùng nhau đi tìm hiểu về Render Props trong ReactJS. Khi triển khai một dự án React, việc tái sử dụng các component là điều rất cần thiết nhất là trong các dự án lớn. Bởi vậy, React cung cấp cho chúng ta một pattern rất hữu ích cho việc xây dựng và tái sử dụng các component đó là render props.

6 phút đọcĐọc bài viết
Tìm hiểu về Fragments trong ReactJS
CONTENT

Tìm hiểu về Fragments trong ReactJS

Trong bài này chúng ta sẽ cùng nhau đi tìm hiểu về Fragments trong ReactJS, chắc hẳn trong quá trình làm quen với React bạn gặp thông báo lỗi " JSX parent expressions must have one parent element” khi không bọc các element JSX quanh một element nào đó. Giả sử như thế này.

5 phút đọcĐọc bài viết
Tìm hiểu về Context trong ReactJS
CONTENT

Tìm hiểu về Context trong ReactJS

Trong bài viết này chúng ta sẽ cùng nhau đi tìm hiểu về Context trong ReactJS. Trong quá trình làm việc với ReactJS, các dữ liệu trong các component phải được chia sẻ với nhau.

8 phút đọcĐọc bài viết
Tìm hiểu về Refs trong ReactJS
CONTENT

Tìm hiểu về Refs trong ReactJS

Trong bài viết này chúng ta sẽ cùng nhau đi tìm hiểu về refs trong ReactJS. Trong quá trình làm việc với React ở một vài trường hợp nào đó bạn cần phải thực hiện việc tham chiếu đến DOM, mặc dù điều này không được khuyến khích sử dụng. Để giúp quá trình tham chiếu đến DOM dễ dàng hơn, React cung cấp cho chúng ta React Refs.

7 phút đọcĐọc bài viết
Kỹ thuật Lifting State Up trong ReactJS
CONTENT

Kỹ thuật Lifting State Up trong ReactJS

Trong bài viết này chúng ta sẽ cùng nhau đi tìm hiểu về Lifting State Up trong ReactJS, trong quá trình làm việc với React, các component phải re-render và thay đổi rất nhiều lần. Trong một vài trường hợp, bạn muốn khi 1 component con được thay đổi, đồng thời bạn muốn component cha cũng sẽ bắt được hành động đó. Theo tài liệu chính thức của ReactJS thì Lifting State Up được định nghĩa là rằng :

7 phút đọcĐọc bài viết
Tìm hiểu về List và Keys trong ReactJS
CONTENT

Tìm hiểu về List và Keys trong ReactJS

Trong bài viết này chúng ta sẽ cùng hau đi tìm hiểu về lists và keys trong ReactJS, đây cũng là phần mà chúng ta sẽ làm việc rất nhiều trong React.

5 phút đọcĐọc bài viết
Render với điều kiện trong ReactJS
CONTENT

Render với điều kiện trong ReactJS

Trong bài viết này chúng ta sẽ cùng nhau đi tìm hiểu về cách để render với điều kiện trong ReacJS. Trong React, chúng ta có thể tạo ra các component riêng biệt, và chỉ định thành phần nào được render bằng cách sử dụng biểu thức điều kiện.

5 phút đọcĐọc bài viết
Xử lý Form trong ReactJS
CONTENT

Xử lý Form trong ReactJS

Trong bài viết này chúng ta sẽ cùng nhau đi tìm hiểu về các thao tác xử lý form trong ReactJS.

7 phút đọcĐọc bài viết
Handling Events (xử lý sự kiện) trong ReactJS
CONTENT

Handling Events (xử lý sự kiện) trong ReactJS

Trong bài viết này chúng ta sẽ cùng nhau đi tìm hiểu về Handling Events trong Reactjs - xử lý sự kiện trong ReactJS. Trong một website việc tương tác giữa người dùng là điều không thể thiếu như click, nhập form,..chúng ta có thể thực hiện bắt các sự kiện này trong React một cách dễ dàng.

6 phút đọcĐọc bài viết
Tìm hiểu Component Life Cycle trong ReactJS
CONTENT

Tìm hiểu Component Life Cycle trong ReactJS

Trong bài viết này chúng ta sẽ cùng nhau đi tìm hiểu về component life cycle trong React, đây là một phần quan trọng trong React, nó cho phép bạn hiểu được cách mà một component họat động ra sao ?

6 phút đọcĐọc bài viết
Tìm hiểu về Component API trong ReactJS
CONTENT

Tìm hiểu về Component API trong ReactJS

Trong bài viết này chúng ta sẽ cùng nhau đi tìm hiểu về các API bên trong các React Component, đây là những API được sử dụng khá nhiều trong quá trình làm việc với các component bao gồm setState(), forceUpdate(), ReactDOM.findDOMNode(),...

5 phút đọcĐọc bài viết
Tìm hiểu Props Validation trong ReactJS
CONTENT

Tìm hiểu Props Validation trong ReactJS

Trong bài viết này chúng ta sẽ cùng nhau đi tìm hiểu về khái niệm state trong ReatJS. ReactJS được xây dựng để làm các trang web single page applicationn (SPA) nên vấn re-render lại các component là điều tất yếu và không thể thiếu. State cho phép chúng ta lưu trữ dữ liệu trong component, và mỗi khi state thay đổi thì component đó sẽ tự động re-render.

9 phút đọcĐọc bài viết
Tìm hiểu State trong ReactJS
CONTENT

Tìm hiểu State trong ReactJS

Trong bài viết này chúng ta sẽ cùng nhau đi tìm hiểu về khái niệm state trong ReatJS. ReactJS được xây dựng để làm các trang web single page applicationn (SPA) nên vấn re-render lại các component là điều tất yếu và không thể thiếu. State cho phép chúng ta lưu trữ dữ liệu trong component, và mỗi khi state thay đổi thì component đó sẽ tự động re-render.

6 phút đọcĐọc bài viết
Tìm hiểu về Props trong ReactJS
CONTENT

Tìm hiểu về Props trong ReactJS

Trong bài viết này chúng ta sẽ cùng nhau đi tìm hiểu về khái niệm props trong ReactJS, và cách để sử dụng nó trong một dự án. Trong quá trình lập trình một ứng dụng React, việc giao tiếp giữa các components với nhau là điều không thể thiếu. React cho phép chúng ta làm điều này bằng cách sử dụng props.

6 phút đọcĐọc bài viết
Components trong ReactJS
CONTENT

Components trong ReactJS

Trong bài viết này chúng ta sẽ cùng nhau đi tìm hiểu về components trong ReactJS. Trong bài viết đầu tiên giới thiệu về ReactJS mình cũng đã đề cập đến component, đây là một phần không thể thiếu trong dự án ReactJS. Bài này chúng ta sẽ cùng nhau đi tìm hiểu kĩ hơn về nó.

5 phút đọcĐọc bài viết
Giới thiệu JSX trong ReactJS
CONTENT

Giới thiệu JSX trong ReactJS

Trong bài viết này chúng ta sẽ cùng nhau đi tìm hiểu về JSX trong ReactJS. Ở bài viết trước mình cũng đã giới thiệu về JSX một cách căn bản nhất, bài này chúng ta sẽ tiếp tục và đi tìm hiểu sâu hơn về cú pháp của JSX trong ReactJS, cũng như cách sử dụng nó.

6 phút đọcĐọc bài viết
Cài đặt môi trường chạy ReactJS
CONTENT

Cài đặt môi trường chạy ReactJS

Trong bài viết này chúng ta sẽ đi tìm hiểu về cách cài đặt môi trường chạy ReactJS, đối với những bạn mới bắt đầu làm quen với ReactJS thì đây là bước đầu tiên để khởi chạy một project hello world.

5 phút đọcĐọc bài viết
ReactJS là gì? Các khái niệm cần biết trước khi học React JS
CONTENT

ReactJS là gì? Các khái niệm cần biết trước khi học React JS

Trong bài viết này chúng mình sẽ cùng nhau đi tìm hiểu về ReactJS là gì và các khái niệm cơ bản để bắt đầu làm quen với nó. Đây là bài viết đầu tiên trong loạt bài về ReactJS, vì vậy bài viết chỉ tập trung vào giới thiệu và giải thích các khái niệm liên quan.

6 phút đọcĐọc bài viết
Tổng hợp 30 câu truy vấn hữu ích trong Oracle
CONTENT

Tổng hợp 30 câu truy vấn hữu ích trong Oracle

Chào các bạn, hôm nay vô tình đọc được một bài tổng hợp hơn 40 câu truy vấn hữu ích trong Oracle khá hay nên mình dịch lại và chia sẻ với các bạn, đây là những câu truy vấn mà mọi DBA nào cũng phải lưu lại vì trong quá trình quản lý Oracle sẽ phải sử dụng đến, đó là những câu truy vấn liên quan đến máy chủ server, trạng thái thực thi, tính kích thước database, ...

7 phút đọcĐọc bài viết
Phần 6 (Phần cuối): JSON và Ajax trong Javascript
CONTENT

Phần 6 (Phần cuối): JSON và Ajax trong Javascript

Có đến 10 loại toán tử khác nhau trong Javascript

8 phút đọcĐọc bài viết
Phần 5: Thao tác HTML/CSS DOM và Browser BOM với Javascript
CONTENT

Phần 5: Thao tác HTML/CSS DOM và Browser BOM với Javascript

Có đến 10 loại toán tử khác nhau trong Javascript

11 phút đọcĐọc bài viết
Phần 4: Bất đồng bộ callback, promise, async await trong Javascript
CONTENT

Phần 4: Bất đồng bộ callback, promise, async await trong Javascript

Có đến 10 loại toán tử khác nhau trong Javascript

11 phút đọcĐọc bài viết
Phần 3: Thao tác với number, string, array, object và class trong Javascript
CONTENT

Phần 3: Thao tác với number, string, array, object và class trong Javascript

Có đến 10 loại toán tử khác nhau trong Javascript

19 phút đọcĐọc bài viết
Phần 2: Toán tử, câu lệnh điều kiện, vòng lặp, function, HOF, arrow function, call(), apply(), bind() trong Javascript
CONTENT

Phần 2: Toán tử, câu lệnh điều kiện, vòng lặp, function, HOF, arrow function, call(), apply(), bind() trong Javascript

Có đến 10 loại toán tử khác nhau trong Javascript

14 phút đọcĐọc bài viết
Phần 1: Kiểu dữ liệu, tham trị & tham chiếu, khai báo biến, scope và hoisting trong Javascript
CONTENT

Phần 1: Kiểu dữ liệu, tham trị & tham chiếu, khai báo biến, scope và hoisting trong Javascript

Kiểu dữ liệu, tham trị & tham chiếu, khai báo biến, scope và hoisting trong Javascript

6 phút đọcĐọc bài viết
Getting started with Haskell
CONTENT

Getting started with Haskell

Tôi quyết định viết những trang blog này vì muốn học lại kiến thức về Haskell (theo phương pháp của Feynman) và trong tương lai gần, khi lập trình hàm lên ngôi, tôi mong mình có thể giúp những người chưa biết gì về Haskell học tư duy của ngôn ngữ này nhanh chóng. Cho đến hiện tại, hầu như không có hướng dẫn chuẩn nào trên mạng (đặc biệt là tiếng việt), đa số chỉ là những blog lẻ tẻ. Khi bắt đầu học Haskell, học từ một nguồn tài liệu duy nhất là không đủ, cách học của tôi là đọc vài cuốn sách khác nhau, bài báo khoa học nữa, vì mỗi tài liệu đều có cách diễn giải riêng.

22 phút đọcĐọc bài viết
Why should we use Redux Thunk Tutorial
CONTENT

Why should we use Redux Thunk Tutorial

Have you ever wondered why you have to use a middleware like Redux Thunk , Redux Saga ? Or do you just use it because you see tutorials online telling you to use 😜 and that's it.

10 phút đọcĐọc bài viết
Setup environment performance in React
CONTENT

Setup environment performance in React

Setting the environment to code is something that many new coders often ignore because it is quite cumbersome. But believe me, once installed, you will be very happy to code. The reason I choose Visual Studio Code as my editor is because it's free 😳 , fully functional and trusted by many people from newbie to pro. Enough rambling, let's get to the main point.

6 phút đọcĐọc bài viết