1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng Dụng Ai Để Xây Dựng Website Thương Mại Điện Tử.pdf

61 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ứng Dụng AI Để Xây Dựng Website Thương Mại Điện Tử
Tác giả Nguyễn Võ Hoàng Long
Người hướng dẫn TS. Nguyễn Năng Hùng Vân
Trường học Trường Đại Học Kiến Trúc Đà Nẵng
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2022
Thành phố Đà Nẵng
Định dạng
Số trang 61
Dung lượng 1,54 MB

Nội dung

Kỹ thuật này được áp dụng thành công trong nhiều ứng dụng.Trong các hệ thống lọc cộng tác, sở thích của người dùng trên các sản phẩm mớiđược dự đoán dựa trên dữ liệu về sở thích của ngườ

Trang 1

TRƯỜNG ĐẠI HỌC KIẾN TRÚC ĐÀ NẴNG

KHOA CÔNG NGHỆ THÔNG TIN

ĐỀ CƯƠNG ĐỒ ÁN TỐT NGHIỆP

ĐỀ TÀI: ỨNG DỤNG AI ĐỂ XÂY DỰNG

WEBSITE THƯƠNG MẠI ĐIỆN TỬ

Người hướng dẫn khoa học : TS Nguyễn Năng Hùng Vân

Sinh viên thực hiện : Nguyễn Võ Hoàng Long

Mã số sinh viên : 1851220087

Đà Nẵng, năm 2022

Trang 2

TÓM TẮT

Tên đề tài: Ứng dụng AI để xây dựng website thương mại điện tử

Sinh viên thực hiện: Nguyễn Võ Hoàng Long

Chương 2: Tên của chưởng??? Trong chương này, đã trình bày về phương pháplọc cộng tác dựa trên sản phẩm, minh họa quá trình xử lý để đưa ra các kết quả tưvấn dựa trên thuật toán lọc cộng tác

Chương 3: Tên của chưởng??? Trong chương này, sẽ đi tới phân tích bài toán,đặc tả yêu cầu và các mô hình chức năng sử dụng trong đề tài

Chương 4: Tên của chưởng??? Chương này cài đặt thử nghiệm phương pháp lọc cộng tác trên sản phẩm cho website bán hàng

Trang 3

LỜI MỞ ĐẦU

Ngày nay, trong thời đại số, với sự phát triển của công nghệ, đặc biệt là công nghệthông tin đã tạo ra rất nhiều những cơ hội được trực tiếp cận với những dịch vụ tiện íchcho con người, cùng với đó là một nền công nghiệp tri thức, thương mại điện tử

Sự bùng nổ của Internet đã tạo ra một bước ngoặt về phát triển thương mại điện tửkhông chỉ các nước trên thế giới mà là ở cả Việt Nam Chúng đã tạo ra vô vàn cơ hộicũng như những thách thức mạng lại cho các doanh nghiệp, đơn vị kinh doanh Nóicách khác thương mại điện giúp thu hẹp khoảng cách giữa các doanh nghiệp và kháchhàng

Thương mại điện tử đã khẳng định được vai trò xúc tiến và thúc đẩy sự phát triểncủa doanh nghiệp Đối với một đơn vị kinh doanh, việc quảng bá, giới thiệu sản phẩmhay phục vụ nhu cầu mua hàng của khách hàng là rất quan trọng Trong xu thế cạnhtranh ngày càng mạnh của Thương mại điện tử, chất lượng phục vụ và giá cả dịch vụcung cấp cho khách hàng được đặt lên hàng đầu

Thương mại điện tử ngày càng phát triển và lan rộng, đồng thời cũng là công cụđắc lực cho các cá nhân, đơn vị kinh doanh từ xa để tăng doanh thu và vượt qua đại

dịch, lựa chọn đề tài “Ứng dụng AI để xây dựng Website Thương mại điện tử” làm

hướng nghiên cứu cho đồ án của em dưới sự hướng dẫn TS Nguyễn Năng Hùng Vân

Hệ thống thương mại điện tử của đồ án nhằm đưa đến cho đơn vị kinh doanh cũng nhưkhách hàng có thể trao đổi mua bán hàng hóa qua Internet một cách nhanh chóng vàhiệu quả, đem lại sự tiện lợi cho cả người bán và người mua

 Các đoạn trong phần này chưa có Liên kết với nhau, nên khi đọc cảm giác rời rạc

Trang 4

LỜI CẢM ƠN

Qua đây, em xin chân thành cảm ơn Nnhà trường đã tạo điều kiện cho em đượcthực hiện đề tài này Em xin chân thành cảm ơn thầy Nguyễn Năng Hùng Vân và cácthầy cô giảng viên bộ môn đã trang bị cho em kiến thức về công nghệ thông tin trongsuốt thời gian em học tập tại nhà trường Với sự hướng dẫn tận tình của thầy NguyễnNăng Hùng Vân em đã hoàn thành đồ án tốt nghiệp Tuy đã cố gắng hết sức tìm hiểu,phân tích thiết kế và cài đặt hệ thống nhưng do thời gian có hạn và khả năng còn rấthạn chế nên đồ án của em không tránh khỏi những thiếu sót Kính mong nhận được sựgóp ý, phê bình của quý thầy cô và các bạn để em có thể hoàn thiện tốt hơn đề tài củamình

Em xin chân thành cảm ơn !

Trang 5

LỜI CAM ĐOAN

Nhóm xin cam đoan các kết quả trình bày trong khóa luận này do nhóm thực hiệndưới sự hướng dẫn của TS Nguyễn Năng Hùng Vân Tất cả các tham khảo và tríchdẫn từ những nghiên cứu liên quan đều được trình bày rõ ràng, chi tiết trong danh mụctài liệu tham khảo của khóa luận Báo cáo không sao chép tài liệu, công trình nghiêncứu của người khác mà không chỉ rõ về mặt tài liệu tham khảo

Các các kết quả đánh giá, thống kê được trình bày trong khóa luận này đều đượclấy từ kết quả thực nghiệm do nhóm thực hiện

Sinh viên thực hiện

Nguyễn Võ Hoàng Long

Trang 6

MỤC LỤC

DANH MỤC CÁC THUẬT NGỮ VIẾT TẮT 8

DANH MỤC BẢNG BIỂU 9

DANH MỤC HÌNH ẢNH 10

MỞ ĐẦU 12

Chương 1 CỞ SỞ LÝ THUYẾT 15

1.1 Giới thiệu thương mại điện tử 15

1.2 Giới thiệu về hệ thống gợi ý 16

1.3 Các phương pháp thường dùng để xây dựng hệ thống gợi ý 17

1.3.1 Phương pháp lọc dựa trên nội dung (content-based-filter) 18

1.3.2 Phương pháp lọc cộng tác (collaboration-filter) 18

1.3.3 Phương pháp lọc kết hợp (hybrid-filter) 19

1.4 Ứng dụng hệ thống đề xuất trong thực tiễn 20

1.4.1 Lợi ích đem lại của hệ thống đề xuất 21

1.4.2 Cách thức hoạt động của hệ thống đề xuất 22

1.5 Một số công nghệ 23

1.5.1 Front-end (ReactJS) 23

1.5.2 Back-end (NodeJS) 27

1.5.3 Cơ sở dữ liệu Mysql 30

1.6 Mô hình MVC 31

1.7 Kết chương 32

Chương 2 PHƯƠNG PHÁP ĐỀ XUẤT LỌC CỘNG TÁC TRONG THƯƠNG MẠI ĐIỆN TỬ 33

2.1 Giới thiệu về các phương pháp lọc cộng tác 33

2.2 Ưu và nhược điểm của phương pháp lọc cộng tác 33

2.2.1 Ưu điểm 33

2.2.2 Một số hạn chế 33

2.3 Lọc cộng tác dựa trên sản phẩm 34

2.4 Các thuật toán tính độ tương tự 35

Trang 7

2.5 Độ tương tự dựa theo khoảng cách Euclidean điều chỉnh 36

2.6 Kết chương 37

Chương 3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 38

3.1 Đặc tả hệ thống 38

3.2 Yêu cầu chức năng 38

3.2.1 Yêu cầu người dùng 38

3.2.2 Yêu cầu người quản trị 38

3.3 Biểu đồ Use-case 39

3.3.1 Use case tổng quát 39

3.3.2 Use case người dùng xem sản phẩm 39

3.3.3 Use case đánh giá sản phẩm 40

3.3.4 Use case người dùng thanh toán khi đặt hàng 40

3.3.5 Use case đưa ra danh sách sản phẩm gợi ý tương tự 41

3.4 Biểu đồ trình tự 41

Chương 4 XÂY DỰNG CHỨC NĂNG ĐỀ XUẤT SẢN PHẨM 46

4.1 Thiết kế bảng dữ liệu cho Recommend System 46

4.1.1 Dữ liệu của người dùng 46

4.1.2 Dữ liệu của sản phẩm 47

4.2 Thuật toán xử lý chính trong hệ thống 48

4.2.1 Thuật toán đánh giá sản phẩm 48

4.2.2 Thuật toán gợi ý sản phẩm tương tự cho khách hàng 49

4.3 Các giao diện chính của hệ thống 51

4.4 Nhận xét 58

4.4.1 Ưu điểm của hệ thống sử dụng RS 58

4.4.2 Một số hạn chế 58

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 59

1.1 Kết quả đạt được 59

1.2 Hướng phát triển 59

Trang 8

DANH MỤC CÁC THUẬT NGỮ VIẾT TẮT

2 AI Artificial Intellogence Trí tuệ nhân tạo

Trang 9

DANH MỤC BẢNG BI

Bảng 2 1: Bảng đánh giá người dùng với các sản phẩm 35Y

Bảng 3 1: Bảng mô tả use case xem sản phẩm 39

Bảng 3 2: Bảng mô tả use case đánh giá sản phẩm 40

Bảng 3 3: Bảng mô tả use case người dùng thanh toán khi đặt hàng 40

Bảng 3 4: Bảng mô tả use case danh sách sản phẩm gợi ý tương tự 4 Bảng 4 1: Bảng thông tin người dùng 46

Bảng 4 2: Bảng đánh giá sản phẩm 46

Bảng 4 3: Bảng thông tin sản phẩm 47

Bảng 4 4: Bảng thông số kỹ thuật 47

Bảng 4 5: Bảng thương hiệu sản phẩm 47

Bảng 4 6: Bảng hình ảnh của sản phẩm 48

Trang 10

DANH MỤC HÌNH Ả

Hình 1 1: Một số lĩnh vực ứng dụng của hệ thống gợi ý 17

Hình 1 2: Hệ thống gợi ý sản phẩm của Amazon 21

Hình 1 3: Giới thiệu về Virtual DOM 25

Hình 1 4: Giới thiệu về Nodejs 27

Hình 1 5: Trang chủ NodeJS 29

Hình 1 6: Kiểm tra phiên bản nodejs 29

Hình 1 7: Mô hình MVC 31Y Hình 2 1: Tách các sản phẩm cùng được đánh giá và tính độ tương tự 36

Hình 2 2: Biểu đồ đánh giá của người dùng 3 Hình 3 1: Biểu đồ use-case của hệ thống 39

Hình 3 2: Biểu đồ use case xem sản phẩm 39

Hình 3 3: Biểu đồ use case đánh giá sản phẩm 40

Hình 3 4:Biểu đồ use case người dùng thanh toán khi đặt hàng 40

Hình 3 5: Biểu đồ use case danh sách sản phẩm gợi ý tương tự 41

Hình 3 6: Biểu đồ trình tự đăng nhập 41

Hình 3 7: Biểu đồ trình tự đăng ký 42

Hình 3 8: Người dùng xem sản phẩm 42

Hình 3 9: Xem thông tin cá nhân của khách hàng 43

Hình 3 10: Xem lịch sử đặt hàng của khách hàng 43

Hình 3 11: Người dùng phản hồi và đánh giá về sản phẩm 44

Hình 3 12: Người dùng thanh toán khi đặt hàng 44

Hình 3 13: Đề xuất những sản phẩm thông tin tương tự 4 Hình 4 1: Sơ đồ thuật toán khách hàng đánh giá sản phẩm 48

Hình 4 2: Thuật toán xử lý gợi ý sản phẩm tương tự 50

Hình 4 3: Hình ảnh trang chủ 51

Hình 4 4: Hình ảnh trang danh sách sản phẩm 52

Hình 4 5: Giao diện gợi ý sản phẩm tương tự 52

Hình 4 6: Giao diện sản phẩm phù hợp cho người dùng 53

Trang 11

Hình 4 7: Giao diện đăng nhập hoặc đăng ký cho người dùng 53

Hình 4 8: Giao diện giỏ hàng của ngươi dùng 54

Hình 4 9: Giao diện trang thanh toán 54

Hình 4 10: Giao diện trang thông tin cá nhân 55

Hình 4 11: Giao diện đăng nhập cho admin 55

Hình 4 12: Trang bảng điều khiển admin 55

Hình 4 13: Trang quản lý danh sách sản phẩm 56

Hình 4 14: Trang thêm và cập nhật sản phẩm 56

Hình 4 15: Trang quản lý danh sách khách hàng 56

Hình 4 16: Trang quản lý danhs sách đơn hàng 57

Hình 4 17: Trang quản lý danh mục sản phẩm 57

Hình 4 18: Trang thêm cập nhật danh mục sản phẩm 57

Trang 12

MỞ ĐẦU4.1 Lý do chọn đề tài

Sự phát triển mạnh mẽ của thương mại điện tử (E-Commerce) là mộttrongnhững tác nhân chính đem lại nhiều lợi ích to lớn cho nền kinh tế toàn cầu.Nhờ có thương mại điện tử, rất nhiều loại hình kinh doanh mới được hình thành,trong đó có mua bán hàng trực tuyến Với hình thức mới này, người tiêu dùng cóthể tiếp cận với hàng hóa một cách dễ dàng và nhanh chóng hơn rất nhiều so vớiphương thức mua bán truyền thống

Hiện nay, với phương châm phục vụ khách hàng một cách tốt nhất, các hệ thốngbán hàng trực tuyến luôn tạo nhiều điều kiện thuận lợi để người mua hàng có thểtiếp cận nhiều mặt hàng cùng lúc Tuy nhiên, việc trình bày và trang trí quá nhiềucác mặt hàng trên một website sẽ gây ra không ít khó khăn cho người mua Họ khó

có thể chọn ra cho mình một sản phẩm ưng ý nhất

Trong kinh doanh, để khách hàng có thể đến và mua được một sản phẩm ưng ýthì một lời tư vấn, một sự trợ giúp là rất quan trọng Với phương thức bán hàngtruyền thống những lời tư vấn như thế từ một người bán hàng sẽ tạo ra một lợi thếrất lớn cho cửa hàng Do đó, để phương thức bán hàng qua mạng phát triển thực sựhiệu quả thì bên cạnh các lợi thế vốn có của mình, việc có thêm một “người trợgiúp” là hết sức cần thiết

Vì vậy, cần thiết phải sử dụng một hệ thống gợi ý (Recommender Systems RS) đóng vai trò như một người hỗ trợ khách hàng đưa ra các quyết định mua hàngđúng đắn Bằng cách xác định mục đích và nhu cầu của khách hàng, hệ thống cóthể đưa ra tập các gợi ý giúp cho người mua dễ dàng chọn lựa sản phẩm yêu thíchhơn Qua đó hiệu suất của việc mua bán hàng trực tuyến được tăng cao một cáchđáng kể

-Hệ thống gợi ý được phát triển theo nhiều cách tiếp cận khác nhau Một trongnhững hướng tiếp cận được tập trung nghiên cứu và được áp dụng khá thành côngtrong nhiều hệ gợi ý đó là phương pháp lọc cộng tác (Collaborative filtering) Thựcchất, lọc cộng tác là một hình thức tư vấn tự động bằng cách dựa trên sự tương tựgiữa những người dùng hoặc giữa những sản phẩm trong hệ thống và đưa ra dự

Trang 13

đoán sự quan tâm của người dùng tới những sản phẩm, hoặc đưa ra gợi ý một sảnphẩm mới cho người dùng.

Việc xây dựng hệ thống gợi ý cũng là vấn đề được nhiều nhà khoa học trongnước quan tâm Trong hệ thống gợi ý, lọc cộng tác là một kỹ thuật được dùng đểđánh giá độ quan tâm của người dùng trên các sản phẩm mới (từ mức độ tìm hiểuthuật toán cho đến việc cải tiến cũng như áp dụng trong việc xây dựng website bánhàng trực tuyến) Kỹ thuật này được áp dụng thành công trong nhiều ứng dụng.Trong các hệ thống lọc cộng tác, sở thích của người dùng trên các sản phẩm mớiđược dự đoán dựa trên dữ liệu về sở thích của người dùng – sản phẩm (hoặc đánhgiá của người dùng trên sản phẩm) trong quá khứ

Các nghiên cứu trong và ngoài nước đã góp phần rất lớn cho việc xây dựngnhững website bán hàng trực tuyến như website mua sắm trực tuyến Amazon(www.amazon.com) cung cấp cho khách hàng những sản phẩm mà họ có thể quantâm, cổng video clip YouTube (www.youtube.com), gợi ý phim của MovieLens(www.movielens.org)

Trong mỗi cách tiếp cận, sử dụng độ đo nào để nắm bắt chính xác việc kháchhàng cho rằng sản phẩm tốt? Làm thế nào để dự báo tốt và gợi ý tốt trong đồngthời

Với những lý do trên, tác giả đã chọn đề tài “Ứng dụng AI để xây dựng

Website Thương mại điện tử” làm đề tài tốt nghiệp.

- Nghiên cứu các lý thuyết và phương pháp kỹ thuật hệ thống gợi ý Từ

đó, áp dụng những kiến thức đó vào website để hỗ trợ hệ thống đề xuấtnhững sản phẩm phù hợp

- Áp dụng các công nghệ mới đem hiểu quả cao trong website bán hàngtrực tuyến như giao diện thân thiện, trải nghiệm, phương thức thanhtoán, quản lý, …)

4.3 Đối tượng của đề tài

Trang 14

- Tìm hiểu phương pháp lọc cộng tác trong RS

- Áp dụng giải thuật lọc cộng tác để xây dựng RS

- Những sản phẩm điện – điện tử trên website: Lap top, Tablet, Điện thoại 4.4 Phạm vi của đề tài

- Ứng dụng hệ thống gợi ý các sản phẩm lap top, tablet, điện thoại trên

website

- Tìm hiểu về công nghệ ReactJS – NodeJS và dabase hệ cơ sở dữ liệuMysql

4.5 Nội dung nghiên cứu

- Thu thập thông tin, tài liệu về các phương pháp xây dựng RS, nhược

điểm và các kết quả đạt được của chúng trong áp dụng thực tế

- Phân tích những thông tin cần thiết và quan trọng về các phương pháp

lọc thông tin (Lọc cộng tác, Lọc dựa trên nội dung, Lọc kết hợp) với kiếnthức tổng quan của hệ thống lọc thông tin

- Cài đặt, kiểm tra và đánh giá mức độ hiệu quả của từng phương pháp và

thuật toán đã trình bày Từ đó áp dụng thuật toán lọc cộng tác dựa trênsản phẩm để xây dựng RS trên một Website bán hàng trực tuyến nhằmmục đích tăng giao dịch

4.6 Phương pháp nghiên cứu

Phương pháp lý thuyết:

- Phương pháp nghiên cứu tài liệu: các khái niệm về lọc thông tin trong

RS, đặc biệt là nghiên cứu thuật toán lọc cộng tác dựa trên sản phẩm

- Phương pháp phân tích điều tra số liệu: thu thập và nghiên cứu các tài

liệu có liên quan đến đề tài

Phương pháp thực nghiệm:

- Nghiên cứu về thuật toán lọc cộng tác đã được đề xuất

- Ứng dụng RS vào một Website bán hàng trực tuyến dựa trên thuật toán

lọc cộng tác dựa trên sản phẩm

- Kiểm tra, thử nghiệm, nhận xét và đánh giá kết quả

Trang 15

-Chương 1 CỞ SỞ LÝ THUYẾT 1.1 Giới thiệu thương mại điện tử

Thương mại điện tử, hay còn gọi là e-commerce, e-comm hay EC, là sự muabán sản phẩm hay dịch vụ trên các hệ thống điện tử như Internet và các mạngmáy tính hương mại điện tử dựa trên một số công nghệ như chuyển tiền điện tử,quản lý chuỗi dây chuyền cung ứng, tiếp thị Internet, quá trình giao dịch trựctuyến, trao đổi dữ liệu điện tử (EDI), các hệ thống quản lý hàng tồn kho, và các

hệ thống tự động thu thập dữ liệu[ CITATION tmdt \l 1033 ]

Một số khái niệm thương mại điện tử được định nghĩa bởi các tổ chức uy tínthế giới như sau:

- Theo Tổ chức Thương mại thế giới (WTO), "Thương mại điện tử baogồm việc sản xuất, quảng cáo, bán hàng và phân phối sản phẩm đượcmua bán và thanh toán trên mạng Internet, nhưng được giao nhận mộtcách hữu hình, cả các sản phẩm giao nhận cũng như những thông tin sốhoá thông qua mạng Internet".[ CITATION tmdt \l 1033 ]

Theo Ủy ban Thương mại điện tử của Tổ chức Hợp tác kinh tế châu Á Thái Bình Dương (APEC) định nghĩa: "Thương mại điện tử liên quanđến các giao dịch thương mại trao đổi hàng hóa và dịch vụ giữa cácnhóm (cá nhân) mang tính điện tử chủ yếu thông qua các hệ thống có nềntảng dựa trên Internet." Các kỹ thuật thông tin liên lạc có thể là email,EDI, Internet và Extranet có thể được dùng để hỗ trợ thương mại điện tử.[ CITATION tmdt \l 1033 ]

Theo Ủy ban châu Âu: "Thương mại điện tử có thể định nghĩa chung là

sự mua bán, trao đổi hàng hóa hay dịch vụ giữa các doanh nghiệp, giađình, cá nhân, tổ chức tư nhân bằng các giao dịch điện tử thông quamạng Internet hay các mạng máy tính trung gian (thông tin liên lạc trựctuyến) Thật ngữ bao gồm việc đặt hàng và dịch thông qua mạng máytính, nhưng thanh toán và quá trình vận chuyển hàng hay dịch vụ cuốicùng có thể thực hiện trực tuyến hoặc bằng phương pháp thủcông."[ CITATION tmdt \l 1033 ]

Trang 16

1.2 Giới thiệu về hệ thống gợi ý

Hệ thống gợi ý (RS) là một dạng của hệ hỗ trợ ra quyết định, cung cấp giảipháp mang tính cá nhân hóa mà không phải trải qua quá trình tìm kiếm phức tạp

Hệ gợi ý học từ người dùng và gợi ý các sản phẩm tốt nhất trong số các sảnphẩm phù hợp

Hệ thống gợi ý phân tích thông tin về sở thích của người dùng user về các sảnphẩm item để cung cấp các khuyến nghị đối với các item phù hợp với mongmuốn và sở thích của người dùng và mô hình hóa sự tương tác giữa người dùng

và sản phẩm

Hệ thống gợi ý sử dụng các tri thức về sản phẩm, các tri thức của chuyên giahay tri thức khai phá học được từ hành vi con người dùng để đưa ra các gợi ý vềsản phẩm mà họ thích trong hàng ngàn hàng vạn sản phẩm có trong hệ thống.Các website thương mại điện tử, ví dụ như sách, phim, nhạc, báo sử dụng hệthống gợi ý để cung cấp các thông tin giúp cho người sử dụng quyết định sẽ lựachọn sản phẩm nào Các sản phẩm được gợi ý dựa trên số lượng sản phẩm đó

đã được bán, dựa trên các thông tin cá nhân của người sử dụng, dựa trên sựphân tích hành vi mua hàng trước đó của người sử dụng để đưa ra các dự đoán

về hành vi mua hàng trong tương lai của chính khách hàng đó Các dạng gợi ýbao gồm: gợi ý các sản phẩm tới người tiêu dùng, các thông tin sản phẩm mangtính cá nhân hóa, tổng kết các ý kiến cộng đồng, và cung cấp các chia sẻ, cácphê bình, đánh giá mang tính cộng đồng liên quan tới yêu cầu, mục đích củangười sử dụng đó.[ CITATION Tha22 \l 1033 ]

Rất nhiều hệ thống lớn thu thập thông tin phản hồi từ khách hàng một cáchtường minh như Ebay, Amazon, LastFM, NeFlix, Youtube, ở đó người dùng

sẽ trực tiếp đánh giá trên sản phẩm, như bình chọn từ không thích đến rất thích,hay Youtube thu thập thông tin qua like và dislike, và các hệ thống khác Thôngqua việc thu thập phản hồi tường minh, hệ thống dễ dàng xác định mức độ yêuthích của người dùng trên sản phẩn, từ đó dự đoán các sản phẩm tiếp theo màngười dùng có thể thích để gợi ý cho họ Tuy nhiên, điều này có thể gây bất lợi

do không phải người dùng lúc nào cũng sẵn sàng vui lòng để lại các phản hồicủa họ, vì vậy hệ thống phải nên tự xác định người dùng cần gì thông qua phản

Trang 17

hồi Một số ứng dụng hệ tư vấn nổi tiếng trên thế giới được giới thiệu tronghình 1.4.

Hình 1 1: Một số lĩnh vực ứng dụng của hệ thống gợi ý

1.3 Các phương pháp thường dùng để xây dựng hệ thống gợi ý

Lọc thông tin là lĩnh vực nghiên cứu các quá trình phân bổ thông tin thíchhợp và gỡ bỏ thông tin không thích hợp đến với mỗi người dùng Lọc thông tincho các hệ tư vấn được tiếp cận theo hai xu hướng chính, đó là lọc dựa vào nộidung sản phẩm và lọc dựa vào thói quen sử dụng sản phẩm của người hay cònđược gọi là lọc cộng tác So với lọc theo nội dung, lọc cộng tác cho lại kết quảtốt hơn và có thể lọc bất kỳ dạng thông tin nào Tuy nhiên, lọc cộng tác gặpphải vấn đề dữ liệu thưa, người dùng mới và sản phẩm mới cần được tiếp tụcnghiên cứu giải quyết Kết hợp giữa lọc cộng tác và lọc nội dung để nâng caochất lượng dự đoán và tránh hiện trạng dữ liệu thưa của lọc cộng tác được tậptrung nghiên cứu nhiều trong thời gian gần đây Các phương pháp lọc kết hợphiện nay vẫn hạn chế trong biểu diễn và ước lương mức độ ảnh hưởng của mỗiđặc trưng nội dung đến thói quen sử dụng sản phẩm của người dùng

Trang 18

Có rất nhiều cách để dự đoán, ước lượng hạng/điểm cho các sản phẩm như

sử dụng học máy, lý thuyết xấp xỉ, các thuật toán dựa trên kinh nghiệm, … Các

hệ thống gợi ý thường được phân thành ba loại theo các phương pháp lọc tin Tưvấn dựa trên nội dung, tư vấn dựa trên cộng tác, tư vấn dựa trên cách tiếp cậnkết hợp

1.3.1 Phương pháp lọc dựa trên nội dung (content-based-filter)

Đưa ra các khuyến nghị mua bán cho người dùng dựa trên nội dung liênquan đến sản phẩm Nó sẽ gợi ý các item dựa trên hồ sơ của người dùng hoặcnội dung, thuộc tính tương tự như những item mà người dùng đã chọn trong quákhứ Ví dụ: một người thích mua Iphone 12 pro vậy hệ thống gợi ý một vài sảnphẩm cùng hãng với Iphone hoặc cùng thuộc tính với Iphone 12 pro

 Nên vẽ 1 mô hình của phương pháp này?

Ưu điểm

- Gợi ý được những sản phẩm phù hợp với sở thích của từng khách hàng

- Không phụ thuộc vào dữ liệu của các khách hàng khác

- Gợi ý những sản phẩm tương tự với những sản phẩm mà khách hàng đãthích trong quákhóa khứ

Lọc cộng tác thực hiện tư vấn các sản phẩm, dịch vụ, cho khách hàng nào

đó dựa trên mối quan tâm, sở thích của những người dùng tương tự đối với cácsản phẩm, dịch vụ, nội dung

Lọc cộng tác được xem là một trong ba cách tiếp cận chính trong xây dựngcác hệ thống tự vấn

Có nhiều kỹ thuật lọc cộng tác và chia thành hai dạng chính:

Trang 19

- Memory-based: lọc cộng tác dựa trên việc ghi nhớ toàn bộ dữ liệu

- Model-based: lọc cộng tác dựa trên các mô hình phân lớp, dự đoán

Ưu điểm

- Có khả năng dự đoán được sở thích và nhu cầu của người dùng để đưa ragợi ý các sản phẩm phù hợp với từng khách hàng mà không cần hiểu sảnphẩm

- Gợi ý dựa trên trải nghiệm của người dùng tương tự khác nên có thể gợi

ý được những sản phẩm mới phù hợp với sở thích mới

- Phương pháp này phù hợp với những hệ thống lớn có nhiều đánh giá từphía người dùng

- Có độ xác kém nếu sở thích khách hàng thay đổi

 Nên vẽ 1 mô hình của phương pháp này?

1.3.3 Phương pháp lọc kết hợp (hybrid-filter)

Đây là một phương pháp kết hợp giữa lọc cộng tác với lọc dựa trên nội dung

có thể hiệu quả hơn trong một số trường hợp Phương pháp này có thể thực hiệntrên nhiều cách:;

- Dự đoán dựa trên nội dung và dựa trên cộng tác riêng biệt và sau đó kếthợp chúng

- Thêm các khả năng dựa trên nội dung và cộng tác

Có bảy kỹ thuật lai cơ bản:

- Có trọng số (Weighted): Điểm số của các thành phần đề xuất khác nhauđược kết hợp theo số lượng[ CITATION Jef22 \l 1033 ]

- Chuyển đổi (Switching): Hệ thống chọn giữa các thành phần đề xuất và

áp dụng hệ thống được chọn[ CITATION Jef22 \l 1033 ]

Trang 20

- Hỗn hợp (Mixed): Các đề xuất từ những người giới thiệu khác nhauđược trình bày cùng nhau để đưa ra đề xuất[ CITATION Jef22 \l 1033 ]

- Kết hợp tính năng (Feature Combination): Các tính năng được lấy từ cácnguồn tri thức khác nhau được kết hợp với nhau và được đưa ra cho mộtthuật toán gợi ý duy nhất

- Tính năng tăng cường (Feature Augmentation): Một kỹ thuật gợi ý được

sử dụngđể tính toán một tính năng hoặc tập hợp các tính năng, sau đó làmột phần của đầu vào cho kỹ thuật tiếp theo

- Cascade: Các khuyến nghị được ưu tiên nghiêm ngặt, với những ưu tiênthấp hơn phá vỡ các mối quan hệ trong việc tính điểm của những ngườicao hơn

- Cấp độ meta (Meta-level): Một kỹ thuật đề xuất được áp dụng và tạo ramột sốloại mô hình, sau đó là đầu vào được sử dụng bởi kỹ thuật tiếptheo

 Nên vẽ 1 mô hình của phương pháp này?

1.4 Ứng dụng hệ thống đề xuất trong thực tiễn

Hệ thống gợi ý được ứng dụng khá thành công trong thực tiễn giúp ngườidùng giải quyết vấn đề quá tải thông tin Hệ thống gợi ý sử dụng các tri thức vềsản phẩm, các tri thức của chuyên gia học được từ hành vi của con người dùng

để đưa ra các gợi ý về sản phẩm mà họ thích trong nhiều sản phẩm có trong hệthống đặc biệt là thương mại điện tử Trên thế giới, đã có nhiều công ty, tổ chức

áp dụng thành công hệ thống gợi ý như một dịch vụ thương mại của mình nhằmgợi ý các dịch vụ, sản phẩm các thông tin cần thiết đến người dùng như Websitemua sắm trực tuyến Amazon cung cấp cho khách hàng những sản phẩm mà họ

có thể quan tâm, youtube cung cấp cho khách hàng những video mà họ có thểquan tâm, … Việc gợi ý sản phẩm phù hợp sẽ góp phần làm tăng doanh số bánhàng hoặc số lượng truy cập của hệ thống Các sản phẩm được gợi ý dựa trên sốlượng sản phẩm đó đã được bán, dựa trên các thông tin cá nhân của người dùng,dựa trên sự phân tích hành vi mua hàng trước đó của người dùng để đưa ra các

dự đoán về hành vi mua hàng rong tương lai của chính khách hàng đó Giúp chokhách hàng có thể tìm kiếm được những thông tin thú vị hoặc những sản phẩm

Trang 21

mà họ muốn tìm dễ dàng hơn Các dạng gợi ý bao gồm: gợi ý các sản phẩm tớingười tiêu dùng, các thông tin sản phẩm mang tính cá nhân hóa, tổng kết các ýkiến cộng đồng, và cung cấp các chia sẻ, các phê bình, đánh giá mang tính cộngđồng liên quan tới yêu cầu, mục đích của người dùng đó Ví dụ, trong hệ thốngbán hàng trực tuyến (chẳng hạn như Amazon), nhằm tối ưu hóa khả năng muasắm của khách hàng (user), người ta quan tâm đến việc những khách hàng nào

đã ‘yêu thích’ những sản phẩm (item) nào bằng cách dựa vào dữ liệu quá khứcủa họ (dữ liệu này có thể là xếp hạng mà người dùng đã bình chọn trên sảnphẩm, thời gian duyệt (browse) trên sản phẩm, số lần click chuột trên sản phẩm,

…) từ đó hệ thống sẽ dự đoán được người dùng có thể thích sản phẩm nào vàđưa ra những gợi ý phù hợp cho họ Hình 1.8 là một ví dụ minh họa cho hệthống gợi ý bán hàng của Amazon

Ngoài lĩnh vực thương mại điện tử như đã thấy ở ví dụ trên, hiện tại RScũng được ứng dụng khá thành công trong nhiều lĩnh vực khác như trong giảitrí: gợi ý bài hát cho người nghe (ví dụ, hệ thống của LastFM - www.last.fm),gợi ý phim ảnh (ví dụ, hệ thống của Netflix - www.netflix.com), gợi ý các videoclip (ví dụ, hệ thống của YouTube - www.youtube.com); trong giáo dục và đàotạo (gợi ý nguồn tài nguyên học tập như sách, bài báo, địa chỉ web, … chongười đọc

Hình 1 2: Hệ thống gợi ý sản phẩm của Amazon

1.4.1 Lợi ích đem lại của hệ thống đề xuất

Lý do cần có hệ thống khuyến nghị là bởi số lượng sản phẩm, /dịch vụ và/nội dung được cung cấp trực tuyến quá nhiều và người dùng khó tìm được thứmình cần Khi người dùng vào website cung cấp sản phẩm, hệ thống khuyến

Trang 22

nghị sẽ trả về một danh sách ngắn các sản phẩm mà người dùng nhiều khả năng

sẽ chọn, có thể bao gồm cả những thứ mà người đó không biết từ trước Nhưvậy, hệ thống khuyến nghị giúp tiết kiệm thời gian, tăng tốc độ tìm kiếm và giúpngười dùng truy cập tới nội dung họ quan tâm một cách dễ dàng hơn, đồng thời,gợi ý tới người dùng những đề xuất mới mà trước đây họ chưa từng biết đến.Với khả năng của hệ thống khuyến nghị, các doanh nghiệp sử dụng chúng đểgiới thiệu sản phẩm tới người tiêu dùng, giúp gia tăng doanh số nhờ các ưu đãi,sản phẩm, dịch vụ được khuyến nghị một cách cá nhân hóa, làm nâng cao trảinghiệm khách hàng Điều này cải thiện lợi thế cạnh tranh của doanh nghiệp vàgiảm thiểu tỉ lệ khách hàng rời bỏ và đến với đối thủ cạnh tranh khi họ nhậnthấy doanh nghiệp hiểu nhu cầu của họ và cung cấp cho họ những thứ họ muốn

Hệ thống khuyến nghị là thành phần không thể thiếu của các nền tảng trực tuyếncung cấp đa dạng các loại hình dịch vụ, từ các website thương mại điện tử tớinền tảng đào tạo trực tuyến Theo McKinsey, 35% doanh thu của Amazon đượctạo ra từ các tương tác với hệ thống khuyến nghị của hãng này Một thống kêkhác cũng cho thấy 75% thời lượng xem phim trên Netflix được thực hiện nhờcác khuyến nghị được cá nhân hoá.[ CITATION FPT22 \l 1033 ]

1.4.2 Cách thức hoạt động của hệ thống đề xuất

Khác với các công cụ tìm kiếm (search engine), hệ thống khuyến nghị chủđộng đưa ra các dự đoán mà không cần người dùng yêu cầu Trong khi các công

cụ tìm kiếm đòi hỏi người dùng phải mô tả yêu cầu của mình, ví dụ dưới dạngcác từ khoá, tức là người dùng phải biết mình muốn gì, cũng như phải biết hệthống có thể cung cấp thứ mình muốn thì hệ thống khuyến nghị không cần cảhai thông tin này Vậy làm thế nào để hệ thống khuyến nghị có thể đoán đượcngười dùng muốn gì? Theo cách đơn giản, mọi người có thể ra quyết định bằngcách làm theo người khác Ví dụ, khi xem phim xong, ta có thể tìm được lối rachỉ bằng cách đi theo mọi người thay vì biết chính xác cửa ra nằm ở đâu Tương

tự như vậy, một người có khả năng cao đi xem một bộ phim đơn giản vì đó đang

là phim bom tấn Các phương pháp khuyến nghị đơn giản cũng sử dụng nguyêntắc này: khuyến nghị những sản phẩm có nhiều người thích Đa số hệ thốngkhuyến nghị hiện nay cho phép cá nhân hoá khuyến nghị tới người dùng, tức làgiới thiệu những dịch vụ, sản phẩm chỉ có một nhóm người thích, bên cạnh các

Trang 23

sản phẩm đại chúng Việc cá nhân hoá khuyến nghị đòi hỏi các thuật toánkhuyến nghị hoàn thiện hơn Ví dụ, thuật toán thế hệ đầu tìm kiếm những ngườidùng có lịch sử mua sắm tương tự như người dùng mà hệ thống đang cần đưa rakhuyến nghị (mua những sản phẩm tương tự trong quá khứ), sau đó giới thiệucho người dùng này những sản phẩm mà những người kia mới mua Các thuậttoán thế hệ tiếp theo ngày càng hoàn thiện và cho kết quả tốt hơn Một phươngpháp thường được nhắc đến là thừa số hoá ma trận Theo phương pháp này, mỗingười dùng sẽ được biểu diễn dưới dạng một vec tơ các con số, trong đó mỗiphần tử của vec tơ thể hiện mức độ người đó liên quan tới một số sở thích nào

đó Chẳng hạn, trong trường hợp khuyến nghị phim, một người dùng có thể biểudiễn bằng vec tơ (hành động/0.8, hài/0.1, kinh dị/0.2) thể hiện đó là người thíchphim hành động và không thích phim hài hay phim kinh dị lắm Tương tự, một

bộ phim có thể được biểu diễn dưới dạng (hành động/0.9, hài/0.3, kinh dị/0.0).Người dùng sẽ được khuyến nghị những phim có vec tơ biểu diễn tương tự vec

tơ của mình Các vec tơ này được tính từ lịch sử xem phim của người dùng nhờmột thuật toán riêng Trên thực tế, các vec tơ biểu diễn thường có vài trăm phần

tử và các phần tử không có ý nghĩa rõ ràng như trong ví dụ trên Các hệ thốngkhuyến nghị hiện nay thường sử dụng mạng nơ ron nhân tạo nhiều lớp và kỹthuật học sâu để xây dựng biểu diễn người dùng và sản phẩm Học sâu cho thấynhững tiến bộ đầy hứa hẹn trong những năm gần đây trong việc cung cấp cáckhuyến nghị được cá nhân hóa Hệ thống dạng này cho phép học các quan hệphức tạp giữa người dùng, sản phẩm và tích hợp thêm các thông tin khác nhưngữ cảnh diễn ra tương tác giữa người dùng với sản phẩm, hay tích hợp thêmcác thông tin mô tả sản phẩm Điều này thực hiện được bởi học sâu có khả năngtìm hiểu các đại diện phân tán trong các thuộc tính của người dùng và của mặthàng trong không gian vectơ dày đặc chiều thấp và kết hợp chúng để giới thiệucác mặt hàng phù hợp cho người dùng Với những lợi ích mang lại, các dịch vụtrực tuyến nổi tiếng nhất hiện nay như Youtube, Netflix, Spotify, Pinterest,Amazon… đều đã chuyển sang hệ thống khuyến nghị sử dụng các kỹ thuật họcsâu[ CITATION FPT22 \l 1033 ]

 Nên vẽ 1 mô hình của phương pháp này?

Trang 24

1.5 Một số công nghệ

1.5.1 Front-end (ReactJS)

ReactJS là một opensource được phát triển bởi Facebook, ra mắt vào năm

2013, bản thân nó là một thư viện Javascript được dùng để để xây dựng cáctương tác với các thành phần trên website Một trong những điểm nổi bật nhấtcủa ReactJS đó là việc render dữ liệu không chỉ thực hiện được trên tầng Server

mà còn ở dưới Client nữa

Trang 25

a JSX

Trọng tâm chính của bất kỳ website cơ bản nào đó là những HTMLdocuments Trình duyệt Web đọc những document này để hiển thị nội dung củawebsite trên máy tính, tablet, điện thoại của bạn Trong suốt quá trình đó, trìnhduyệt sẽ tạo ra một thứ gọi là Document Object Model (DOM) – một tree đạidiện cho cấu trúc website được hiển thị như thế nào Lập trình viên có thể thêmbất kỳ dynamic content nào vào những dự án của họ bằng cách sử dụng ngônngữ JavaScript để thay đổi cây DOM

JSX (nói ngắn gọn là JavaScript extension) là một React extension giúpchúng ta dễ dàng thay đổi cây DOM bằng các HTML-style code đơn giản Và

kể từ lúc ReactJS browser hỗ trợ toàn bộ những trình duyệt Web hiện đại, có thể

tự tin sử dụng JSX trên bất kỳ trình duyệt nào mà bạn đang làm việc

b Virtual DOM

Nếu không sử dụng ReactJS (và JSX), website sẽ sử dụng HTML để cậpnhật lại cây DOM cho chính bản nó (quá trình thay đổi diễn ra tự nhiên trêntrang mà người dùng không cần phải tải lại trang), cách làm này sẽ ổn cho cácwebsite nhỏ, đơn giản, static website Nhưng đối với các website lớn, đặc biệt lànhững website thiên về xử lý các tương tác của người dùng nhiều, điều này sẽlàm ảnh hưởng performance website cực kỳ nghiêm trọng bởi vì toàn bộ câyDOM phải reload lại mỗi lần người dùng nhấn vào tính năng yêu cầu phải tải lạitrang)

Tuy nhiên, nếu bạn sử dụng JSX thì sẽ giúp cây DOM cập nhật cho chínhDOM đó, ReactJS đã khởi tạo một thứ gọi là Virtual DOM (DOM ảo) VirtualDOM (bản chất của nó theo đúng tên gọi) là bản copy của DOM thật trên trang

đó, và ReactJS sử dụng bản copy đó để tìm kiếm đúng phần mà DOM thật cầncập nhật khi bất kỳ một sự kiện nào đó khiến thành phần trong nó thay đổi(chẳng hạn như user nhấn vào một nút bất kỳ)

Ví dụ, khi người dùng bình luận vào khung comment vào bất kỳ bài Blognào trên website của bạn và nhấn “Enter” Dĩ nhiên, người dùng sẽ cần phảithấy được bình luận của mình đã được thêm vào danh sách bình luận Giả sửtrong trường hợp không sử dụng ReactJS, toàn bộ cây DOM sẽ phải cập nhật để

Trang 26

báo hiệu sự thay đổi mới này Còn khi sử dụng React, nó sẽ giúp scan quaVirtual DOM để xem những gì đã thay đổi sau khi người dùng thực hiện hànhđộng trên (trong trường hợp này, thêm mới bình luận) và lựa chọn đúng nơiđúng chỗ cần cập nhật sự thay đổi mà thôi.

Hình 1 3: Giới thiệu về Virtual DOM

Với việc cập nhật đúng chỗ như vậy, nó tiết kiệm cho chúng ta rất nhiều tàinguyên cũng như thời gian xử lý Ở các website lớn và phức tạp như thương mạiđiện tử, đặt món ăn, v.v sẽ thấy việc này là vô cùng cần thiết và quan trọng đểlàm tăng trải trải nghiệm của khách hàng và performance được cải thiện đángkể

c Tại sao phải sử dụng ReactJS

- Dễ dàng tạo ứng dụng web động dễ dàng hơn vì nó yêu cầu ít codehơn và cung cấp nhiều chức năng

- Cải thiện hiệu năng website với VirtrualDom

- Có thể tái sử dụng các component để giảm thời gian phát triển ứng

dụng

d Ưu điểm

- Reactjs cực kì hiệu quả: Reactjs tạo ra cho chính nó DOM ảo – nơi

mà các component thực sự tồn tại trên đó Điều này sẽ giúp cải thiệnhiệu suất rất nhiều Reactjs cũng tính toán những thay đổi nào cầncập nhật lên DOM và chỉ thực hiện chúng Điều này giúp Reactjstránh những thao tác cần trên DOM mà nhiều chi phí

- Reactjs giúp việc viết các đoạn code JS dễ dàng hơn: Nó dung cúpháp đặc biệt là JSX (Javascript mở rộng) cho phép ta trộn giữa codeHTML và Javascript Ta có thể them vào các đoạn HTML vào trong

Trang 27

hàm render mà không cần phải nối chuỗi Đây là đặc tính thú vị củaReactjs Nó sẽ chuyển đổi các đoạn HTML thành các hàm khởi tạođối tượng HTML bằng bộ biến đổi JSX.

- Nó có nhiều công cụ phát triển: Khi bắt đầu Reactjs, đừng quên càiđặt ứng dụng mở rộng của Chrome dành cho Reactjs Nó giúp bạndebug code dễ dàng hơn Sau khi bạn cài đặt ứng dụng, sẽ có cái nhìntrực tiếp vào virtual DOM như thể đang xem cây DOM thôngthường

- Render tầng server: Một trong những vấn đề với các ứng dụng đơntrang là tối ưu SEO và thời gian tải trang Nếu tất cả việc xây dựng vàhiển thị trang đều thực hiện ở client, thì người dùng sẽ phải chờ chotrang được khởi tạo và hiển thị lên Điều này thực tế là chậm Hoặcnếu giả sử người dung vô hiệu hóa Javascript thì sao? Reactjs là mộtthư viện component, nó có thể vừa render ở ngoài trình duyệt sửdụng DOM và cũng có thể render bằng các chuỗi HTML mà servertrả về

- Làm việc với vấn đề test giao diện: Nó cực kì dễ để viết các test casegiao diện vì virtual DOM được cài đặt hoàn toàn bằng JS

- Hiệu năng cao đối với các ứng dụng có dữ liệu thay đổi liên tục, dễdàng cho bảo trì và sửa lỗi

a Nhược điểm

- Reactjs chỉ phục vụ cho tầng View React chỉ là View Library nó

không phải là một MVC framework như những framework khác Đâychỉ là thư viện của Facebook giúp render ra phần view Vì thế React

sẽ không có phần Modelvà Controller, mà phải kết hợp với các thưviện khác React cũng sẽ không có 2-way binding hay là Ajax

- Tích hợp Reactjs vào các framework MVC truyền thống yêu cầu cần

phải cấu hình lại

- Khó tiếp cận cho người mới học Web

b Giới thiệu Redux

Redux là một thư viện Javascript giúp tạo ra thành một lớp quản lýtrạng tháicủa ứng dụng Redux được xây dựng dựa trên nền tảng tư

Trang 28

tưởng của ngôn ngữ Elm và kiếntrúc Flux do Facebook giới thiệu Dovậy Redux thường là bộ đôi kết hợp hoàn hảovới React Tuy nhiên hoàntoàn có thể sử dụng với các framework khác như Angular, Backbone

Trạng thái state của ứng dụng

Một ứng dụng web thông thường sẽ nhận dữ liệu từ phía máy chủ(backend), hay nhận những thao tác của người dùng (nhập, click, …), tất

cả những thứ này chúngta gọi đó là trạng thái của ứng dụng Nếu biếtđược trạng thái của ứng dụng tại mộtthời điểm nào đó, chúng ta sẽ biếtvào thời điểm đó ứng dụng đã nhận dữ liệu nào, những thao tác nào đãđược người dùng truyền lên

Ví dụ cho trạng thái của ứng dụng: Khi chúng ta click vào nút Back /Forward trên trình duyệt, thì mỗi trang sẽ là một trạng thái của ứng dụngVới việc không sử dụng Redux, các component sẽ giao tiếp với nhaubằng props Nếu chúng ta cần lấy state của một component cách nhau 3tầng, chúng ta phải gọi 3 lần, điều đó sẽ khiến việc code và quản lý staterất phức tạp, và to dần lên theothời gian

Với việc sử dụng Redux, chúng ta sẽ lưu state của các componentvào 1 storechung ở bên ngoài Sau đó nếu muốn dùng ở component nàochúng ta chỉ cần gọi nó và sử dụng

 Định dạng và đánh chỉ mục của phần này cần kiểm tra lại

1.5.2 Back-end (NodeJS)

NodeJS là mã nguồn mở chạy trên môi trường V8 JavaScript runtime (một

trình thông dịch JavaScript chạy cực nhanh trên trình duyệt Chrome) NodeJS

giúp các nhà phát triển xây dựng các ứng dụng web một cách đơn giản và dễdàng mở rộng

Trang 29

Hình 1 4: Giới thiệu về Nodejs

NodeJS có thể được dùng để xây dựng các loại ứng dụng khác nhau như cácứng dụng dòng lệnh, ứng dụng web, ứng dụng trò chuyện theo thời gian thực,máy chủ REST API, Tuy nhiên, NodeJS thường được dùng chủ yếu để xâydựng các chương trình mạng như máy chủ web, tương tự như PHP, Java hoặcASP.NET

Vì đây là mã nguồn mở nên cho phép bạn sử dụng miễn phí và đồng thờiđược liên tục được chỉnh sửa, cải tiến bởi cộng đồng các nhà phát triển toàncầu

NodeJS xuất hiện lần đầu vào năm 2009 bởi Ryan Dahl Phiên bản đầu tiêncủa NodeJS chỉ hỗ trợ hệ điều hành Linux và MacOS X Ban đầu, việc pháttriển và bảo trì được thực hiện bởi Dahl Sau đó được Joyent, một công ty phầnmềm và dịch vụ tài trợ

a Tại sao sử dụng NodeJS

- NodeJS được viết Javascript, ngôn ngữ này là ngôn ngữ khá thôngdụng được sử dụng rộng rãi

- NodeJS chạy đa nền tảng phía Server

- Có thể chạy ứng dụng bất kỳ đâu trên Mac, Window, Linux

- Cộng đồng NodeJS rất lớn và nó hoàn toán miễn phí

- Các ứng dụng NodeJS dáp ứng tốt thời gian thực và chạy đa nềntảng, đa thiết bị

b Ưu điểm

- Tốc độ xử lý nhanh nhờ cơ chế non-blocking dễ dàng xử lý hàngngàn kết nối trong thời gian ngắn

- Dễ dàng mở rộng khi có nhu cầu phát triển ứng dụng

- Phù hợp để xây dựng những ứng dụng chat, mạng xã hội

- Xử lý nhiều yêu cầu cùng một lúc trong thời gian ngắn

Trang 30

Để download NodeJS bạn cần truy cập vào địa chỉ dưới đây:

https://nodejs.org/en/

Hình 1 5: Trang chủ NodeJS

Sau khi download thành công bạn có một file

Cài đặt NodeJS trên Windows rất đơn giản, chấp nhận các tùy chọnmặc định và “Next” cho tới bước cuối cùng

Theo mặc định, phần mềm NPM cũng được cài đặt vào hệ thống củabạn Đây là một phần mềm quản lý các thư viện Javascript

Kiểm tra và cấu hình

Hình 1 6: Kiểm tra phiên bản nodejs

Ngày đăng: 28/02/2024, 19:49

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w