CƠ SỞ LÝ THUYET

Một phần của tài liệu Khóa luận tốt nghiệp Kỹ thuật phần mềm: Xây dựng Shop quần áo online tích hợp gợi ý sản phẩm và dự báo doanh thu (Trang 27 - 61)

ĐÈ CƯƠNG CHI TIẾT

Chương 2. CƠ SỞ LÝ THUYET

2.1. Tìm hiểu về Reactjs

Hình 2-1 Reactjs

2.1.1. Reactjs là gi

React.js là một thư viện JavaScript phát trién mạnh mẽ trong những năm gan

đây, đặc biệt trong lĩnh vực ứng dụng Single Page Application. Trong khi các

framework khác tập trung vào việc xây dựng mô hình MVC hoàn chỉnh, React đặc

biệt nồi bật với tính đơn giản và khả năng tương tác mượt mà với các thư viện

JavaScript khác. React là một thư viện cho phép nhúng mã HTML vào trong mã

JavaScript thông qua JSX, giúp dé dàng kết hợp các đoạn mã HTML vào trong JS.

Việc tích hợp giữa JavaScript và HTML trong JSX cũng giúp làm cho các thành

phan trong React dé hiểu hơn và quản lý dé dang hơn. Điều nay mang lại sự linh

hoạt và hiệu quả trong việc xây dựng giao diện người dùng đáp ứng và tương tác

một cách thuận tiện và mạnh mẽ.

2.1.2. Giới thiệu về JSX

JSX là một ngôn ngữ cho phép viết các phần tử HTML trong JavaScript.

Nó có những đặc điểm nỗi bật sau:

° Tăng tốc độ: JSX thực hiện tối ưu hóa khi biên dịch sang JavaScript, giúp

thời gian thực thi nhanh hơn rất nhiều so với mã JavaScript tương đương được viết trực tiếp.

12

° Tăng tính an toàn: Khác với JavaScript, JSX là kiểu tĩnh (statically typed),

điều này đồng nghĩa rằng nó được kiểm tra lỗi trước khi chạy, tương tự như Java hay C++. Điều này giúp phát hiện các lỗi ngay trong quá trình biên dịch. JSX cũng cung cấp tính năng gỡ lỗi hiệu quả trong quá trình biên

dịch.

° Dé sử dụng: JSX dựa trên JavaScript, giúp các lập trình viên JavaScript dé

dàng chuyền đổi và sử dụng.

2.1.3. Giới thiệu về Components

React được xây dựng dựa trên các thành phần (component) thay vì sử dụng

template như các framework khác. Trong React, chúng ta xây dựng ứng dụng web

bằng cách sử dụng các thành phần nhỏ. Việc tái sử dụng các thành phần này ở nhiều

nơi khác nhau, với các trạng thái và thuộc tính khác nhau, cho phép chúng ta xây

dựng giao diện linh hoạt. Mỗi thành phan trong React có một trang thái riêng, có thé thay đôi, va React sẽ tự động cập nhật các thành phần dựa trên những thay đổi trong trạng thái đó. Trên thực tế, mọi thứ trong React đều được xem như là các thành

phan. Việc sử dụng các thành phần giúp duy trì mã nguồn dé dang hơn khi làm việc với các dự án lớn. Một thành phần React đơn giản chỉ cần có một phương thức

render. Tuy có nhiều phương thức khác nhau, nhưng phương thức render là phương thức chính dé xây dựng thành phan.

2.1.4. Giới thiệu về Props va State

Props trong React là cach dé truyén dữ liệu từ một component cha đến một

component con. Props được coi là bất biến, có nghĩa là sau khi được truyền vào

component con, nó không thé thay đổi từ phía component con đó. Props giúp các component tương tác với nhau bằng cách truyền dữ liệu từ component gốc xuống các component con. Mỗi prop đại diện cho một thuộc tính cụ thể và mô tả những gì component con sẽ hiển thị hoặc làm việc với dữ liệu đó.

State trong React thé hiện trạng thái của một component và có thé thay đổi trong quá trình chạy. Khi state thay đối, component sẽ tự động render lại dé cập nhật

13

giao diện người dùng. State thường được sử dụng dé lưu trữ các thông tin có thé thay đôi, như trạng thai đăng nhập, giá tri của một 6 đầu vào, hoặc trạng thái hiển thị của một phần tử. Băng cách sử dụng state, ta có thể thay đổi và theo dõi trạng thái của ứng dụng, và component sẽ tự động cập nhật đề phản ánh trạng thái mới đó.

2.2. Tìm hiểu về ASP.NET CORE API

2.2.1. Giới thiệu

Sau khi ra mắt ASP.NET Core 1, Microsoft đã thay đổi triệt dé quan điểm về .NET, gây ấn tượng mạnh với những điểm sau:

e_ Mã nguồn mở: Microsoft đã quyết định mở mã nguồn của .NET và đưa nó

lên GitHub đề thu hút sự quan tâm và đóng góp từ cộng đồng lập trình viên,

từ đó tận dụng sức mạnh của cộng đồng để phát triển ngôn ngữ và

framework nay.

e Đanèn tảng: .NET không chi hướng đến Windows mà còn hỗ tro xây dựng

ứng dụng cho các hệ điều hành Mac và Linux, giúp tăng tính linh hoạt và đáp ứng nhu cầu của đa nền tảng ngày càng phô biến.

e Visual Studio Code: Microsoft không chỉ giới hạn ASP.NET Core với

Visual Studio truyền thống mà còn cho phép viết ứng dụng với ASP.NET Core bằng cách sử dụng Visual Studio Code - một phiên bản miễn phí và

đa nên tảng của Visual Studio, hỗ trợ trên cả Windows, Linux và Mac.

14

Những thay đổi này đã làm thay đổi cách nhìn về .NET và ASP.NET Core,

mở rộng phạm vi ứng dụng và thu hút sự quan tâm của nhiều lập trình viên trong

cộng dong.

2.2.2, ASP.NET CORE là gì

ASP.NET Core là một framework mã nguồn mở và đa nền tảng, được sử dụng dé xây dựng và kết nối các ứng dung web hiện đại, bao gồm các loại ứng dụng

web, Internet of Things (IoT) và Mobile Backend - Web API.

Với ASP.NET Core, người phát triển có thé tận dụng kiến trúc mạnh mẽ dé

xây dựng các ứng dụng dam mây trên Microsoft Azure hoặc các ứng dụng độc lập.

Đặc biệt, ASP.NET Core cho phép viết ứng dụng đa nền tảng, chạy trên các hệ điều hành Window, Mac và Linux, và mã nguồn của nó được công khai trên Github, tạo điều kiện thuận lợi cho cộng đồng đóng góp và phát triển chung.

Nhờ những tính năng và ưu điểm này, ASP.NET Core đã trở thành một công cụ hữu ích cho việc xây dựng các ứng dụng web đa nền tang và hiện dai.

2.2.3. ASP.NET CORE API

ASP.NET Web API là một framework do Microsoft cung cấp, giúp dé dang

xây dựng các dich vu API Web, tức là các dịch vụ dựa trên giao thức HTTP. Đây là

một nền tảng lý tưởng để tạo các dịch vụ Restful. Các dịch vụ API Web này có thể được sử dụng bởi nhiều loại client khác nhau, bao gồm:

e Trình duyét.

e© Ung dung di động.

©_ Ứng dụng máy tinh dé bàn.

e Thiết bị Internet of Things (IoT) va nhiéu ứng dụng khác.

ASP.NET Web API đã trở thành một công cụ hữu ích dé xay dung cac dich

vu API Web linh hoạt và dé dàng tích hợp với nhiều loại ứng dụng va thiết bị khác

nhau.

15

2.2.4. Các dịch vụ RESTful API

REST là một mẫu kiến trúc được giới thiệu vào năm 2000, sử dụng HTTP như phương thức giao tiếp, và được sử dụng dé tạo các Web API. Mẫu kiến trúc

REST xác định một tập hợp các ràng buộc mà các hệ thống nên tuân thủ dé được

coi là một dịch vụ đầy đủ. Dưới đây là các ràng buộc của REST:

e Rang buộc Máy khách - Máy chủ (Client-Server): Điều này xác định

rằng máy khách gửi yêu cầu đến máy chủ và máy chủ sẽ gửi phản hồi lại cho máy khách. Việc tách biệt giữa máy khách và máy chủ hỗ trợ phát triển

độc lập của cả logic phía máy khách và logic phía máy chủ.

e Rang buộc không trạng thái (Stateless): Rang buộc này yêu cầu giao tiếp

giữa máy khách và máy chủ phải không trạng thái giữa các yêu cầu. Mỗi yêu cầu đến từ máy khách phải chứa đủ thông tin cần thiết để máy chủ xử

lý yêu cầu mà không cần lưu trữ thông tin trạng thái của máy khách.

e_ Rang buộc có thể lưu (Cacheable): Rang buộc này cho phép máy khách

lưu trữ dữ liệu từ máy chủ trong bộ nhớ tạm thời để giảm số lượng yêu cầu gửi lại máy chủ. Các dit liệu không thay đổi thường xuyên như danh sách quốc gia hoặc danh sách thành phố có thê được lưu trữ trong bộ nhớ cache

của máy khách.

e_ Giao diện thống nhất (Uniform Interface): Rang buộc giao diện thống

nhất định nghĩa một giao diện giữa máy khách và máy chủ. Mỗi tài nguyên được xác định băng một URI duy nhất (Mã định danh tài nguyên đồng nhất). Động từ HTTP như GET, POST, PUT và DELETE được sử dụng để xác định hành động mà máy khách muốn thực hiện trên tài nguyên.

e HATEOAS (Hypermedia as the Engine of Application State):

HATEOAS đề cập đến việc trong mỗi yêu cầu, máy chủ cung cấp các siêu liên kết (hyperlinks) dé cho biết những hành động hoặc tùy chọn khác mà máy khách có thể thực hiện trên tài nguyên.

16

Những ràng buộc này giúp REST trở thành một kiến trúc mạnh mẽ và linh hoạt dé tạo các Web API, cho phép các ứng dụng khác nhau có thé tương tác và sử

dụng các dịch vụ này một cách hiệu quả.

2.2.5. Tại sao phải sử dụng ASP.NET Web Api?

Ngày nay, một ứng dụng web không thê chỉ hướng tới một khách hàng cụ thé, bởi vì mọi người sử dụng rất nhiều thiết bị khác nhau như điện thoại di động,

iPhone, máy tính bảng và nhiều thiết bị thông minh khác trong cuộc sông hàng

ngày. Điều này khiến chúng ta đang tiến gần hon tới một thé giới ứng dụng đa nền

tảng.

Đề hiền thị dữ liệu doanh nghiệp một cách nhanh chóng, an toàn và đơn giản trên tất cả các thiết bị và trình duyệt hiện đại, chúng ta cần có một API hỗ trợ tương thích với các thiết bị và trình duyệt này. ASP.NET Web API là một framework

tuyệt vời dé xây dựng các dịch vụ HTTP linh hoạt, có thé được sử dụng bởi nhiều

khách hàng khác nhau, bao gồm trình duyệt, điện thoại di động, iPhone và máy tính

bảng.

ASP.NET Web API cho phép chúng ta xây dựng các API dựa trên HTTP,

giúp tương tác với đa dạng khách hàng và thiết bị. Điều này giúp cung cấp trải

nghiệm người dùng tốt hơn và thuận tiện hơn, đồng thời tối ưu hóa việc truyền

thông dữ liệu giữa ứng dụng web và các thiết bị thông minh hiện đại.

17

2.3. Tìm hiểu về Sql Server

Microsoft®

SQL Server

Hinh 2-3 Sql Server

2.3.1. Giới thiệu về Sql Server

SQL Server là một hệ quan tri co sở dữ liệu quan hệ, được sử dung dé lưu trữ

và quản ly dit liệu trong hệ thống. Nó sử dụng câu lệnh SQL để trao đổi dữ liệu giữa

máy chủ SQL Server và máy khách (client).

Một hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) bao gồm các thành phần sau:

e Cơ sở dữ liệu (databases): Day là nơi lưu trữ các tap hop dữ liệu liên quan

được tô chức và quản lý theo cấu trúc quan hệ.

e Bộ quản lý cơ sở dữ liệu (database engine): Chiu trách nhiệm quản lý và

xử lý các yêu cầu về dữ liệu từ các ứng dụng và máy khách.

e Các chương trình ứng dụng: Được sử dụng dé quản lý và tương tác với cơ

sở đữ liệu và các thành phần khác trong hệ thống.

SQL Server cung cấp một môi trường mạnh mẽ dé quan lý cơ sở dit liệu quan hệ, cho phép lưu trữ dữ liệu theo cấu trúc và thực hiện các thao tác truy van dữ

liệu dễ dàng.

2.3.2... Các thành phan cơ bản trong Sql Server

SQL Server là một giải pháp hoàn chỉnh gồm các thành phan cơ bản sau:

18

e Database Engine: Day là một engine cho phép lưu trữ dữ liệu dưới dang

bảng và hỗ trợ quy mô dữ liệu khác nhau. Nó có khả năng tự điều chỉnh và

quản lý tài nguyên của máy tính linh hoạt.

e Integration Services: Cung cấp tập hợp các đối tượng lập trình và công cụ

đồ hoa dé sao chép, di chuyên và chuyên đồi dit liệu giữa các hệ thống khác nhau. Điều này hỗ trợ di chuyền dữ liệu giữa các máy chủ và định dạng dữ

liệu trước khi lưu vào cơ sở đữ liệu.

e Analysis Services: Là dịch vụ phân tích dt liệu, cho phép phân tích dữ liệu

một cách hiệu quả bằng cách sử dụng kỹ thuật khai thác dữ liệu và khái niệm hình khối nhiều chiều.

e©_ Notification Services: Dịch vụ này cho phép phát triển và triển khai các

ứng dụng gửi thông báo cho người dùng. Nó cũng hỗ trợ gửi thông báo

định thời đến hàng ngàn người dùng trên nhiều thiết bị khác nhau.

e Reporting Services: Là công cụ tạo, quan lý và triển khai báo cáo, bao gồm

cả phan server và client. Đây cũng là nền tang dé xây dựng các ứng dụng

báo cáo.

e Full Text Search Service: Là thành phan đặc biệt dé truy van và đánh chỉ

mục đữ liệu văn bản không cau trúc được lưu trữ trong cơ sở đữ liệu SQL

Server.

e Service Broker: Là môi trường lập trình cho việc tạo ra các ứng dụng nhảy

qua các Instance, giúp tối ưu hóa quá trình xử lý dữ liệu.

2.3.3. Tại sao phải sử dung SQL Server?

SQL Server không phải là một hệ quản trị cơ sở đữ liệu độc lập mà nó chỉ là

một thành phần với vai trò ngôn ngữ là công cụ giao tiếp giữa hệ cơ sở dit liệu và người dùng. Chính vì thế nó được sử dụng trong các dịch vụ thiết kế web đẹp với

chức năng giao tiêp với người dùng với các vai tro sau:

19

e SQL là một ngôn ngữ đòi hỏi có tính tương tác cao: Người dùng có thé

dễ dàng trao đổi với các tiện ích thông qua các câu lệnh của SQL đến

cơ sở dt liệu và nhận kết quả từ cơ sở dữ liệu.

¢ SQL là một ngôn ngữ lập trình cơ sở dữ liệu: Các lập trình viên có thé

xây dựng các chương trình ứng dụng giao tiếp với cơ sở dit liệu bang

cách nhúng các câu lệnh SQL vào trong ngôn ngữ lập trình.

e SQL là một ngôn ngữ lập trình quản trị cơ sở dữ liệu: Người quan trị

cơ sở dữ liệu có thé quan lý, định nghĩa và điều khién truy cập cơ sở dữ

liệu thông qua SQL.

SQL là một ngôn ngữ lập trình cho các hệ thống chủ khách: SQL được sử dụng như là một công cụ giao tiếp với các trình ứng dụng trong hệ thống cơ sở dit

liệu khách chủ.

20

Chương 3. MACHINE LEARNING: ML.NET

3.1. Khái niệm ML.Net

ML.NET là một thư viện máy học mã nguồn mở và đa nền tảng được phát triển bởi Microsoft. Nó cung cấp các công cụ và khung làm việc dé thực hiện các tác

vụ liên quan đến máy học trên các nền tảng Windows, Linux và macOS. ML.NET có

khả năng thực hiện các tác vụ tương tự như các thư viện khác như scikit-learn trong

Python, và đồng thời cung cấp các tính năng đặc biệt mà các thư viện khác không có.

ML.NET hỗ trợ một loạt các bài toán trong lĩnh vực máy học, bao gồm:

+ Phân loại (Classification): Đây là bài toán phân loại các điểm dữ liệu vào

các nhóm hoặc các lớp khác nhau. Ví dụ, phân loại cảm xúc tích cực hoặc tiêu cực từ

các phản hồi của khách hàng.

+ Gom cụm (Clustering): Bài toán gom cụm nhăm phân chia dữ liệu thành

các nhóm dựa trên các đặc trưng tương tự. Ví dụ, gom cụm khách hàng vào các nhóm dựa trên hành vi mua hàng của họ.

+ Hồi quy (Regression)/Dự đoán giá trị liên tục (Predict continuous values): Bài toán hồi quy tập trung vào việc dự đoán giá tri liên tục dựa trên dữ liệu

có sẵn. Ví dụ, dự đoán giá nhà hoặc giá taxi dựa trên lịch sử giao dịch.

+ Phát hiện bat thường (Anomaly Detection): Bài toán phát hiện các điểm

dữ liệu bất thường hoặc không tuân theo các quy tắc thông thường. Ví dụ, phát hiện

giao dịch gian lận trong ngành ngân hàng.

21

+ Khuyến nghị (Recommendations): Bài toán tạo ra các gợi ý sản phâm hoặc nội dung phù hợp cho người dùng dựa trên các thông tin sẵn có. Ví dụ, gợi ý sản phẩm phù hợp với sở thích của khách hàng khi truy cập vào một trang mua sắm trực tuyến.

+ Dữ liệu chuỗi thời gian (Time series/sequential data): Bài toán dự báo và phân tích dit liệu theo chuỗi thời gian, ví dụ như dự báo thời tiết hoặc dự báo doanh

số bán sản phẩm theo thời gian.

+ Phân loại hình ảnh (Image classification): Bài toán phân loại các hình ảnh vào các lớp khác nhau dựa trên nội dung của chúng.

+ Phát hiện đối tượng (Object detection): Bài toán nhằm phát hiện và xác định vị trí của các đối tượng trong hình ảnh.

22

3.2. Quy trình hoạt động

ITransformer

Save model

Œ) Save()

Re-Designed by |

Tran Duy Thanh

USE MODEL Load model

(6) Load()

ITransformer

Bước 1: ML.NET sẽ cung cấp các thư viện phù hợp dé chúng ta có thé nạp dữ liệu và tự động mô hình hóa dit liệu này thành mô hình hướng đối tượng. Ở bước 1,

thông thường chúng ta sẽ thực hiện việc load dữ liệu, sau đó chúng ta cũng thực hiện

việc chia dữ liệu ban đầu thành 2 phần: Tập huấn luyện dé huấn luyện mô hình (dùng

cho bước 3), Tập kiểm tra dé đánh giá mô hình (cho bước 4). Dữ liệu được lưu vào

IDataView.

Bước 2: Bước này dai khái là chi định một quy trình hoạt động dé trích xuất

các đặc trưng và áp dụng thuật toán học máy cho phù hợp. Tùy vào mục đích bải toán

23

Một phần của tài liệu Khóa luận tốt nghiệp Kỹ thuật phần mềm: Xây dựng Shop quần áo online tích hợp gợi ý sản phẩm và dự báo doanh thu (Trang 27 - 61)

Tải bản đầy đủ (PDF)

(122 trang)