Cơ chế hoạt động của javascript và nodejs

Cơ chế hoạt động của javascript và nodejs

Hiện nay nodejs đang nổi lên là ngôn ngữ server rất hot. Nodejs là ngôn ngữ javascript chạy trên server, có ưu điểm là thực thi nhanh, bất đồng bộ. 1. Non-blocking I/O Trong javascript, hầu hết các lời gọi I/O đều là non-blocking. Nghĩa là khi có HTTP request, truy xuất dữ liệu trong DB hoặc đọc ghi vào bộ nhớ thì hệ thống sẽ không tạm dừng (blocking) các đoạn code tiếp theo (như các ngôn ngữ server khác PHP, Ryby,...) mà sẽ trao quyền thực thi những lời gọi I/O n&agra...

Chuẩn cấu hình eslint, prettier cho react sử dụng typescript

Chuẩn cấu hình eslint, prettier cho react sử dụng typescript

1. Cài đặt thư viện Sử dụng các thư viện sau: eslint: báo lỗi cú pháp và các anti-pattern cho code https://github.com/eslint/eslint typescript-eslint: báo lỗi cú pháp cho typescript sử dụng eslint  https://github.com/typescript-eslint/typescript-eslint eslint-plugin-react: báo lỗi cú pháp cho react sử dụng eslint https://github.com/yannickcr/eslint-plugin-r...

Cách cấu hình multi entry point trong create-react-app

Cách cấu hình multi entry point trong create-react-app

1. Mở đầu Kịch bản là bạn muốn build ra 2 page là tên là rate.html và trade.html trong cùng một project sử dụng create-react-app.            Bình thường bạn sẽ phải tạo ra 2 project riêng biệt nhưng bài này sẽ hướng dẫn cách cấu hình webpack để chỉ cần sử dụng 1 project cho cả 2 trang. ...

Generator function trong javascript

Generator function trong javascript

1. Một số điểm lưu ý Mình sẽ đưa ra một số điểm lưu ý khi sử dụng generator function và giải thích ở phía dưới. Hàm generator trả về một iterator có số lần lặp bằng với số từ khoá yield trong hàm. Khi gọi hàm next thì code trong hàm generator sẽ được thực thi cho đến khi gặp từ khoá yield và dừng lại chờ cho lời gọi next tiếp the...


Giải thích về pass-by-reference và pass-by-value

Giải thích về pass-by-reference và pass-by-value

Mở đầu Khi học một ngôn ngữ lập trình, một trong những thứ bạn phải nắm được đó là ngôn ngữ đó truyền biến vào hàm bằng cách nào, khi thao tác với biến đó trong hàm thì có ảnh hưởng tới biến nằm ngoài hàm hay không? Điều này là rất cần thiết để tránh những khó hiểu về sau, nhất là nhữ...

Cách trigger sự kiện change trong react từ trình duyệt

Cách trigger sự kiện change trong react từ trình duyệt

Mở đầu Nếu bạn đã từng tìm cách để trigger sự kiện change từ trình duyệt(browser) và muốn nó gọi sự kiện onChange ở trong project react, bạn sẽ gặp không ít khó khăn vì change event trong react đã được tùy biến lại cho phù hợp với các loại browser khác nhau. Ví dụ ta có một đoạn html như sau: <input type="text" class="myInput"> Hàm onChange trong react sẽ đơn giả...

Cơ bản về async await trong javascript

Cơ bản về async await trong javascript

Bài này giành cho những bạn bắt đầu học nodejs như mình. Khi bắt đầu lập trình với nodejs, vì javascript(js) là bất đồng bộ(asynchoronous) nên mình gặp khó khăn trong việc tổ chức code giống như trong lập trình đồng bộ (synchoronous). Việc cho các đoạn code vào trong các callback khiến mình cảm thấy code trở lên khó đọc theo luồng như trong PHP hay Ruby, nên mình đã tìm hiểu và sử dụng cú pháp async await theo chuẩn ES6 của JS. Sử dụng các cú pháp mới này giúp c...

Scope và closure trong javascript

Scope và closure trong javascript

Đối với những bạn lập trình web nói chung và lập trình js nói riêng thì những kiến thức về scope, closure là cần phải nắm rõ. Js là một ngôn ngữ lập trình khá khó, nếu không nắm rõ cách hoạt động thì sẽ gặp phải những vấn đề khá nan giải. Nhiều người ban đầu dùng js thì sẽ thấy rất dễ, càng làm vào sâu hơn sẽ thấy phức tạp dần với các vấn đề khó trong js l...

Cơ chế browser load HTML và JS

Cơ chế browser load HTML và JS

Bài này mình xin giới thiệu sơ qua về cách trình duyệt tải nội dung HTML và CSS như thế nào. 1. Thứ tự thực hiện khi trình duyệt tải nội dung HTML và JS. Lấy nội dung trang HTML (ví dụ index.html) Bắt đầu dịch (parse) trang HTML cho trình duyệt. Nếu bộ dịch của trình duyệt gặp phải thẻ <script> mà tham chiếu tới file script ngoài. Trình duyệt sẽ gửi request để lấy nội dung file script đó, trong quá trình gửi request này, trình duyệt sẽ tạm ngừn...