Tải bản đầy đủ (.pdf) (26 trang)

Ứng dụng công nghệ Node.js và React.js để tối ưu hệ thống quản lý điểm tại trường Cao đẳng Giao thông vận tải II

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.51 MB, 26 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG

LÊ THANH TÙNG

ỨNG DỤNG CÔNG NGHỆ NODE.JS VÀ
REACT.JS ĐỂ TỐI ƯU HỆ THỐNG
QUẢN LÝ ĐIỂM TẠI TRƯỜNG CAO ĐẲNG
GIAO THÔNG VẬN TẢI II
Chuyên ngành: HỆ THỐNG THÔNG TIN
Mã số: 60.48.01.04

TÓM TẮT LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN

Đà Nẵng - Năm 2017


Công trình được hoàn thành tại
ĐẠI HỌC ĐÀ NẴNG

Người hướng dẫn khoa học: PGS.TSKH Trần Quốc Chiến

Phản biện 1: PGS.TS. Nguyễn Thanh Bình
Phản biện 2: TS. Nguyễn Quang Thanh

Luận văn sẽ được bảo vệ trước Hội đồng chấm Luận văn
tốt nghiệp thạc sĩ Hệ thống thông tin họp tại Đại học Đà Nẵng
vào ngày 07 tháng 01 năm 2017

Có thể tìm hiểu luận văn tại:
 Trung tâm Thông tin-Học liệu, Đại học Đà Nẵng


 Thư viện trường Đại học Sư phạm, Đại học Đà Nẵng


1

MỞ ĐẦU
1. Lý do chọn đề tài
Trong những năm gần đây, cùng với sự phát triển của xã hội và nền kinh tế thị trường thì công việc quản
lý ngày càng khó khăn và phức tạp, đóng góp một vai trò quan trọng trong các cơ quan, công ty, xí nghiệp.
Việc áp dụng các thành tựu của khoa học kỹ thuật nói chung và thành tựu của công nghệ thông tin nói riêng
vào công tác quản lý trở thành yêu cầu cấp bách.
Ở nước ta, ứng dụng công nghệ thông tin vào các lĩnh vực quản lý đang từng bước được triển khai. Đặc
biệt, với việc chuyển đổi đào tạo theo học chế tín chỉ thì việc ứng dụng công nghệ thông tin là hết sức cần thiết
để đáp ứng yêu cầu quản lý việc dạy và học theo đặc thù của hệ thống đào tạo này, điển hình là hệ thống quản
lý điểm.
Hiện nay, trường Cao đẳng Giao thông Vận tải II đã áp dụng hình thức đào tạo theo hệ thống tín chỉ,
đòi hỏi quản lý kết quả học tập phức tạp hơn (xét học bổng, xét học tiếp, xét nhận đồ án, khóa luận tốt nghiệp,
thang điểm 4, thang điểm chữ,... ). Tuy nhiên việc cập nhật điểm còn thủ công, mất rất nhiều thời gian và dễ
xảy ra sai sót. Quy trình công bố điểm còn phức tạp, qua nhiều công đoạn. Thời gian xử lý, truy xuất dữ liệu
của hệ thống còn chậm trễ gây mất thời gian, ảnh hưởng tới công việc của phòng Đào tạo.
Vì những lý do như trên, tôi đề xuất chọn đề tài luận văn cao học:"

ỨNG DỤNG CÔNG NGHỆ

NODE.JS VÀ REACT.JS ĐỂ TỐI ƯU HỆ THỐNG QUẢN LÝ ĐIỂM TẠI TRƯỜNG CAO
ĐẲNG GIAO THÔNG VẬN TẢI II"
2. Mục đích của luận văn
- Ứng dụng công nghệ mới nhằm mục đích tối ưu hệ thống quản lý điểm;
- Đề xuất giải pháp góp phần tối ưu hiệu năng của hệ thống quản lý điểm, giải quyết
tình trạng sai sót trong việc nhập liệu thủ công, giảm thiểu đáng kể thời gian nhập liệu, xử lý

dữ liệu;
- Xây dựng cơ sở khoa học trong vấn đề cải thiện hiệu năng và xử lý dữ liệu của các hệ
thống cũ.
3. Đối tượng nghiên cứu
- Người sử dụng ( chuyên viên phòng Đào tạo, phòng Công tác Học sinh - Sinh viên, sinh
viên,...), người quản lý ( quản trị mạng);
- Công nghệ Node.js, React.js, và mô hình Flux;
- Cơ sở dữ liệu MongoDB;
- Các công cụ hỗ trợ.


2

4. Phạm vi nghiên cứu
Đề tài thực hiện khảo sát quy trình quản lý điểm tại trường Cao đẳng Giao thông vận
tải II.
5. Phương pháp nghiên cứu
- Phương pháp tài liệu: Với phương pháp này, chúng tôi nghiên cứu các tài liệu về cơ sở
lý thuyết bao gồm các tài liệu về Node.js, React.js, MongoDB và các tài liệu liên quan đến một
số nghiên cứu khác;
- Phương pháp thực nghiệm: Với phương pháp này, chúng tôi sử dụng hệ thống quản lý
điểm có sẵn, so sánh thời gian xử lý, tốc độ truy xuất dữ liệu với hệ thống dùng công nghệ
Node.js, React.js để rút ra kết luận tối ưu.
6. Ý nghĩa khoa học, thực tiễn của đề tài
- Về khoa học: Xây dựng cơ sở khoa học trong vấn đề cải thiện hiệu năng và xử lý dữ liệu
của các hệ thống cũ;
- Về thực tiễn: Đề xuất giải pháp góp phần tối ưu hiệu năng của hệ thống quản lý điểm,
giải quyết tình trạng sai sót trong việc nhập liệu thủ công, giảm thiểu đáng kể thời gian nhập
liệu, xử lý dữ liệu.
7. Bố cục luận văn

Luận văn gồm có ba chương:
Chương 1: Nghiên cứu tổng quan;
Chương 2: Phân tích, thiết kế hệ thống;
Chương 3: Giải pháp tối ưu hệ thống.


3

Chương 1
NGHIÊN CỨU TỔNG QUAN
1.1.

TỔNG QUAN VỀ NODE.JS

1.1.1.

Khái niệm

Node.js là một mã nguồn mở, môi trường thời gian chạy đa nền tảng cho phía máy chủ
và các ứng dụng mạng. Ứng dụng Node.js được viết bằng JavaScript, và có thể hoạt động như
OS X, Microsoft Windows, Linux và FreeBDS.
1.1.2.

Lịch sử phát triển

1.1.3.

Ưu điểm của Node.js

a. Ưu điểm

- Đặc điểm nổi bật của Node.js là nó nhận và xử lý nhiều kết nối chỉ với một single-thread.
- JSON APIs
- Ứng dụng trên một trang( Single page Application)
- Shelling tools unix
- Streamming Data (Luồng dữ liệu)
- Ứng dụng Web thời gian thực
b. Khi nào dùng Node.js?
Không nên sử dụng Node.js khi:
- Xây dựng các ứng dụng hao tốn tài nguyên;
- Một ứng dụng chỉ toàn CRUD;
- Khi chưa hiểu hết về Node.js thì sẽ gặp nhiều khó khăn.
Vậy nên dùng Node.js khi nào?
- Node.js thực sự tỏa sáng trong việc xây dựng RESTful API (json). ;
- Những ứng dụng đòi hỏi các giao thức kết nối khác chứ không phải chỉ có http. ;
- Những ứng dụng thời gian thực;


4

- Những website stateful.
1.1.4.

Kỹ thuật của Node.js

1.1.5.

Các đặc tính của Node.js

- Không đồng bộ;
- Chạy rất nhanh;

- Đơn luồng nhưng khả năng mở rộng cao;
- Không đệm;
- Có giấy phép.
1.1.6.

Ứng dụng của Node.js

- Xây dựng websocket server (Chat server);
- Hệ thống Notification (Giống như facebook hay Twitter);
- Ứng dụng upload file trên client;
- Các máy chủ quảng cáo;
- Các ứng dụng dữ liệu thời gian thực khác.
1.1.7.

1.2.

Cài đặt Node.js

TỔNG QUAN VỀ REACT.JS

1.2.1.

Khái niệm

React là một JavaScript framework để xây dựng giao diện người sử dụng (User interface)
của ứng dụng.
1.2.2.

Lịch sử phát triển


1.2.3.

Ưu, nhược điểm của React.js

a. Ưu điểm của React.js
- Sẽ luôn luôn biết được component sinh ra mã HTML như thế nào chỉ bằng việc nhìn vào
một file source;
- Tích hợp giữa javascript và HTML vào trong JSX làm cho các component dễ hiểu hơn;


5

- Có thể render React.js phía server.
b. Nhược điểm của React.js
- Nếu chỉ dùng React.js đứng một mình, nó vô dụng đối với các yêu cầu thực tế;
- Tài liệu nghèo nàn;
- React.js khá nặng nếu so với các framework khác.
1.2.4.

Tính năng

- Được dùng để tạo ra các giao diện cho người dùng ( user interface) nhằm giải quyết các
khó khăn khi phát triển các ứng dụng đơn trang ( Single-Page Applications viết tắt là
SPAs)
- SPAS là web app mà chỉ load một trang HTML và tự động update content khi người dùng
tương tác nó.
- Được sử dụng để xây dựng các ứng dụng lớn mà có dữ liệu thay đổi theo thời gian.
- React.js chỉ xử lý User Interface trong ứng dụng, nó chỉ được xem như là View trong mô
hình thiết kế MVC
- React.js có thể kết hợp được với các thư viện Js khác hoặc các framework lớn hơn như

AngularJS.
1.2.5.

Cấu trúc, thành phần trong React.js

- React.js không phải là Template Language;
- Chia thành các component;
- Sử dụng JSX.
a. JSX là gì?
JSX = Javascript + XML
JSX là một dạng ngôn ngữ cho phép viết các mã HTML trong Javascript. Đặc điểm:
- Faster: Nhanh hơn;
- Safer: An toàn hơn;
- Easier: Dễ dàng hơn.


6

b. Components trong React.js
c. Virtual DOM
d. Data Flow

1.3.

TỔNG QUAN VỀ KIẾN TRÚC FLUX

1.3.1.

Khái niệm


Flux là một kiến trúc phát triển ứng dụng mà Facebook dùng để xây dựng phần client-side
cho những ứng dụng web của họ. Nó giúp làm việc với các components của React một cách dễ
dàng bằng cách sử dụng luồng dữ liệu một chiều (Unidirectional Data Flow). Flux chỉ là một
khái niệm, nó không phải là một thư viện. Nếu tồn tại một thư viện thì nó sẽ giống với một
pattern hơn là một framework.
1.3.2.

Cấu trúc của Flux

1.3.3.

Data Flow

1.3.4.

Sự khác biệt của Flux so với MVC

1.3.5.

Implement Flux

1.4.

TỔNG QUAN VỀ MONGODB

1.4.1.

Tìm hiểu cơ sở dữ liệu NoSQL

a. Khái niệm NoSQL

NoSQL là cơ sở dữ liệu không quan hệ, ràng buộc giữa các Collection (hay còn gọi là
bảng trong cơ sở dữ liệu bình thường).
b. Ưu, nhược điểm của CSDL NoSql
*Ưu điểm của NoSQL
- Là mã nguồn mở;
- Linh hoạt trong việc mở rộng và phát triển;
- Áp dụng được công nghệ điện toán đám mây;
- Được các hãng lớn sử dụng như Amazon, BBC, Facebook và Google.;


7

- NoSQL chủ yếu lựa chọn mô hình lưu trữ tập dữ liệu theo cặp giá trị key/value để dễ
dàng trong việc truy xuất. Mô hình đó cho phép tăng cường hiệu suất nhập/ xuất.
- Thế hệ CSDL NoSQL giảm thiểu tối đa các phép tính toán, tác vụ đọc ghi, đảm bảo được
yêu cầu xử lý dữ liệu của các dịch vụ mạng xã hội. Hệ CSDL này có thể lưu trữ, xử lý từ
lượng rất nhỏ đến hàng petabytes dữ liệu với khả năng chịu tải, chịu lỗi cao nhưng chỉ đòi
hỏi về tài nguyên phần cứng thấp.
- NoSQL sẽ là lựa chọn tốt nhất cho các công ty nhỏ không đủ kinh phí cho việc đầu tư về
bản quyền hoặc server mạnh, cấu hình cao.
* Nhược điểm của NoSQL
- Hỗ trợ không đồng đều cho các doanh nghiệp;
- Chưa được sử dụng rộng rãi;
- Còn mới lạ với một số lập trình viên;
- Chia sẻ dữ liệu chưa theo một tiêu chuẩn chung.
1.4.2.

Hệ quản trị cơ sở dữ liệu MongoDB

a. Khái niệm về MongoDB

MongoDB là một mã nguồn mở và được viết bởi ngôn ngữ C++. MongoDB là một CSDL
có khả năng mở rộng, hiệu suất cao, mã nguồn mở và hướng đi văn bản, nó hoạt động trên
khái niệm collection và document.
b. Các tính năng chính

- Hiệu suất cao;
- Dễ dàng tăng tính mở rộng.
c. Các khái niệm trong MongoDB CRUD
d. Một số đặc trưng của MongoDB
e. Các điểm lưu ý khi lựa chọn MongoDB
- Nếu ứng dụng của có tính chất INSERT cao;
- Ứng dụng ở dạng thời gian thực nhiều;
- Ứng dụng bạn có nhiều dữ liệu quá;


8

- Máy chủ không có hệ quản trị CSDL.
f. Ưu điểm của MongoDB

- Ít Schema hơn;
- Cấu trúc của một đối tượng là rõ ràng;
- Không có các Join phức tạp;
- Khả năng truy vấn sâu hơn;
- MongoDB là dễ dàng để mở rộng;
- Việc chuyển đổi/ánh xạ của các đối tượng ứng dụng đến các đối tượng cơ sở dữ liệu là
không cần thiết.
- Sử dụng bộ nhớ nội tại để lưu giữ phần công việc, giúp truy cập dữ liệu nhanh hơn;
- Lập chỉ mục trên bất kỳ thuộc tính nào;
- Các truy vấn đa dạng;

- Cập nhật nhanh hơn.


9

Chương 2
PHÂN TÍCH, THIẾT KẾ HỆ THỐNG
2.1.

HIỆN TRẠNG CÔNG TÁC QUẢN LÝ ĐIỂM TẠI TRƯỜNG
CAO ĐẲNG GIAO THÔNG VẬN TẢI II

2.1.1.

Giới thiệu về trường Cao đẳng Giao thông vận tải II

2.1.2.

Công tác quản lý điểm

Hiện nay, trường Cao đẳng giao thông vận tải II đang quản lý điểm bằng phần mềm tín
chỉ BSC EMIS STUDENT do công ty BSC phát hành tháng 7/2010 phiên bản V1.0.Nhược
điểm của hệ thống này:
- Đây là một hệ thống chạy trên desktop nên tốc độ phụ thuộc chủ yếu vào phần cứng
máy tính người sử dụng;
- Người sử dụng bắt buộc phải cài đặt chương trình trên máy tính cá nhân, quá trình cài
đặt mất nhiều thời gian và tính linh động thấp trong trường hợp máy tính gặp sự cố;
- Các công nghệ trước năm 2010 được sử dụng trong hệ thống quản lý điểm của trường
đã không theo kịp các công nghệ hiện tại.


2.2.

PHÁT BIỂU YÊU CẦU

2.2.1.

Yêu cầu người sử dụng

2.2.2.

Yêu cầu hệ thống

a. Cập nhật hồ sơ, cập nhật điểm cho từng sinh viên
b. Tính điểm, xếp loại
c. Thống kê báo cáo các biểu mẫu cần thiết

2.3.

TỔNG QUAN CHỨC NĂNG CỦA HỆ THỐNG

2.3.1.

Quản trị hệ thống

Có chức năng tạo tài khoản của sinh viên, tạo tài khoản của quản lý và phân quyền.
Chức năng backup dữ liệu...


10


2.3.2.

Sinh viên

a. Chức năng xem điểm
b. Chức năng phản hồi thông tin điểm
2.3.3.

Phòng Đào tạo

a. Chức năng quản lý điểm
b. Chức năng quản lý sinh viên

2.4.

THIẾT KẾ HỆ THỐNG

2.4.1.

Công cụ hỗ trợ

- Node.js v4.4.5;
- Sublime Text 3;
- SourceTree;
- Robomongo 0.8.5;
- Notepad++ 6.9.1.


11


2.4.2.

Thiết kế hệ thống

a. Sơ đồ tổng thể của hệ thống, mô hình hoạt động

Hình 2.1: Sơ đồ quản lý điểm sinh viên.


12

b. Lược đồ của hệ thống
* Danh sách tác nhân

* Lược đồ usecase tổng quát


13

c. Thiết kế cơ sở dữ liệu
* Xác định thực thể

Hình 2.2: Thực thể SECTORS

- Chức năng: lưu thông tin các ngành đào tạo.
- Quy ước: Trường sector_id là mã ngành đào tạo được quy ước trong chương trình đào
tạo, sector_id là khóa chính và là duy nhất.
- Ràng buộc: Các trường có required giá trị True phải nhập đầy đủ thông tin.

Hình 2.3: Thực thể CLSS


- Chức năng: lưu thông tin các lớp sinh hoạt.
- Quy ước:
+ Trường class_id là mã lớp sinh hoạt được quy ước trong ngành đào tạo, class_id là
khóa chính và là duy nhất;


14

+ Trường sector_id là khóa phụ tham chiếu đến trường sector_id trong bảng SECTORS.
- Ràng buộc: Các trường có required giá trị True phải nhập đầy đủ thông tin.

Hình 2.4: Thực thể STUDENTS

- Chức năng: lưu thông tin sinh viên.
- Quy ước:
+ Trường student_id là mã sinh viên được quy ước trong quyết định thành lập lớp,
trường student_id là khóa chính và là duy nhất;
+ Trường class_id là khóa phụ tham chiếu đến trường class_id trong bảng CLSS;
+ Trường gender được quy ước: 1 (nam), 0 (nữ).
- Ràng buộc: Các trường có required giá trị True phải nhập đầy đủ thông tin.


15

Hình 2.5: Thực thể SUBJECTS

- Chức năng: lưu thông tin môn học
- Quy ước: Trường subject_id là mã môn học được quy ước trong chương trình đào tạo,
trường subject_id là khóa chính và là duy nhất.

- Ràng buộc:
+ Các trường có required giá trị True phải nhập đầy đủ thông tin;
+ Trường number được đặt mặc định trong chương trình đào tạo và chỉ nhận giá trị từ
1 đến 8.


16

Hình 2.6: Thực thể MARKS

- Chức năng: Lưu thông tin điểm của môn học
- Quy ước:
+ Trường student_id, subject_id là khóa ngoại của bảng.
- Ràng buộc:
+ Các trường có required giá trị True phải nhập đầy đủ thông tin.
+ Các trường cc, gk, t1, t2, by_number chỉ nhận giá trị từ 0 đến 10.


17

* Xây dựng mô hình thực thể kết hợp

Hình 2.7: Mô hình thực thể kết hợp

* Xây dựng mô hình cơ sở dữ liệu quan hệ


18

Hình 2.8: Mô hình cơ sở dữ liệu quan hệ


d. Thiết kế giao diện
Đăng nhập chương trình, màn hình sau sẽ xuất hiện:

Hình 2.9: Giao diện đăng nhập.

Hình 2.10: Quản lý sinh viên.

Mục quản lý sinh viên để nhập danh sách sinh viên (bao gồm mã số sinh viên, họ tên, ngày
tháng năm sinh, quê quán, giới tính) vào hệ thống, có thể nhập trực tiếp bằng tay hoặc nhập
từ file excel.


19

Hình 2.11: Quản lý môn học.

Trong quản lý môn học chứa tất cả các môn học trong chương trình đào tạo, số tín chỉ
và kí hiệu môn học.

Hình 2.12: Quản lý ngành đào tạo.

Có tất cả 4 ngành đào tạo:
+ Công nghệ kỹ thuật Giao thông;
+ Công nghệ kỹ thuật công trình Xây dựng;
+ Kế toán;
+ Công nghệ kỹ thuật Cơ khí.


20


Hình 2.13: Quản lý điểm của từng lớp học phần.

Trong quản lý điểm thể hiện điểm của sinh viên theo lớp học phần.

Hình 2.14: Quản lý lớp sinh hoạt.

Quản lý lớp sinh hoạt được sắp xếp theo từng ngành đào tạo. Trong từng lớp sinh hoạt
thể hiện danh sách sinh viên của chuyên ngành đó.

Hình 2.15: Quản lý lớp học phần.


21

Chương 3
GIẢI PHÁP TỐI ƯU HỆ THỐNG
3.1.

PHÂN TÍCH NGUYÊN NHÂN LÀM CHẬM HỆ THỐNG

3.1.1.
3.1.2.

3.2.

Truy vấn database: sử dụng SQL server 2008
Quá trình xử lý luồng dữ liệu: Kiểu truyền thống (blocking)

GIẢI PHÁP TỐI ƯU HỆ THỐNG


3.2.1.

Sử dụng MongoDB để tối ưu hoá truy vấn Database

3.2.2.

Sử dụng công nghệ Node.js

- Sử dụng Node.js thay cho PHP
PHP không quá nặng nề và có những dự án và các tùy chọn làm cho nó nhanh hơn. Ngay
cả các nhà phát triển PHP đòi hỏi khắt khe nhất cũng hiếm khi lo lắng về tốc độ, nhưng hiệu
suất của Node.js nói chung là tốt hơn. Tất nhiên, hiệu suất phần lớn là kết quả của kinh nghiệm
và sự chăm sóc được thực hiện bởi đội ngũ phát triển, nhưng Node.js có khá nhiều ưu điểm.
- Ít dependencies hơn
Tất cả các request tới một ứng dụng PHP phải được định tuyến thông qua một máy chủ
web rồi trình thông dịch PHP mới bắt đầu chạy đoạn code đó. Node.js không cần quá nhiều
các dependencies, trong khi gần như chắc chắn sẽ sử dụng một server framework như Express,
nó khá nhẹ và là một phần trong ứng dụng.
- Trình thông dịch nhỏ hơn và nhanh hơn
Node.js nhỏ hơn và nhanh hơn so với trình thông dịch PHP. Nó ít bị cản trở bởi di sản
ngôn ngữ hỗ trợ và Google đã đầu tư rất lớn để nâng cao hiệu suất của engine V8.
- Các ứng dụng là Permanently On
PHP tuân theo mô hình client-server điển hình. Mọi page request khởi tạo ứng dụng nạp
các thông số cấu hình, kết nối với một cơ sở dữ liệu, lấy thông tin và xuất ra dạng HTML. Một
ứng dụng Node.js chạy vĩnh viễn và nó chỉ cần khởi tạo một lần duy nhất.


22


Khởi tao ứng dụng sẽ tiến hành kết nối đến database và lắng nghe các yêu cầu từ cổng
3008. Các API được tạo ra để lắng nghe các yêu cầu được gửi tới.
- Một Event-driven, Non-Blocking I/O
PHP và các ngôn ngữ phía máy chủ khác sử dụng một mô hình thực thi blocking rõ ràng.
Khi phát ra một lệnh như lấy thông tin từ một cơ sở dữ liệu, lệnh đó sẽ thực hiện hoàn thành
trước, rồi tiến hành các câu lệnh tiếp theo. Còn Node.js sẽ không chờ đợi. Thay vào đó, cung
cấp một callback function sẽ được thực thi một khi hành động đó hoàn thành, ví dụ:

Trong ví dụ này, cửa sổ console sẽ xuất ra dòng chữ ’finished’ trước ’N records returned’
bởi vì function process được gọi khi tất cả dữ liệu đã được lấy ra. Nói cách khác, trình thông
dịch được tự do làm việc khác trong khi những tiến trình khác đang bận rộn.
- Áp dụng vào chương trình


23

Đoạn lệnh trên dùng để lấy danh sách sinh viên, danh sách lớp học phần và danh sách
điểm. Giả sử mỗi hàm xử lý hết 1 giây. Với 3 dòng lệnh gọi hàm trên sử dụng Non-blocking để
xử lý thì 3 dòng lệnh trên sẽ đồng thời được xử lý cùng lúc, thời gian xử lý sẽ mất 1 giây. Còn
khi không sử dụng Non-blocking các dòng lệnh gọi hàm sẽ lần lượt được xử lý. Dòng 1 (line 1)
xử lý xong dòng 2 (line 2) mới bắt đầu chạy và dòng 2 xử lý xong thì dòng 3 (line 3) mới băt
đầu thực thi. Như vậy sẽ mất 3 giây để xử lý xong hết các tiến trình.
Như vậy, Node.js là sự lựa chọn thích hợp sử dụng ở phía server để tối ưu việc xử lý các
luồng dữ liệu.


×