KHÓA LUẬN TỐT NGHIỆP NGHIÊN CỨU VÀ XÂY DỰNG HỆ THỐNGKHUYẾN NGHỊ NHẬP KHO SẢN PHẨM

75 9 0
KHÓA LUẬN TỐT NGHIỆP NGHIÊN CỨU VÀ XÂY DỰNG HỆ THỐNGKHUYẾN NGHỊ NHẬP KHO SẢN PHẨM

Đ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

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM NGUYỄN TIẾN DŨNG NGUYỄN VIỆT TIẾN KHÓA LUẬN TỐT NGHIỆP NGHIÊN CỨU VÀ XÂY DỰNG HỆ THỐNG KHUYẾN NGHỊ NHẬP KHO SẢN PHẨM Researching and building a recommendation system of products for warehousing KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM TP HỒ CHÍ MINH, 2021 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN KHOA CÔNG NGHỆ PHẦN MỀM NGUYỄN TIẾN DŨNG – 16520259 NGUYỄN VIỆT TIẾN – 16521233 KHÓA LUẬN TỐT NGHIỆP NGHIÊN CỨU VÀ XÂY DỰNG HỆ THỐNG KHUYẾN NGHỊ NHẬP KHO SẢN PHẨM Research and build a recommendation system of products for warehousing KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM GIẢNG VIÊN HƯỚNG DẪN THS NGUYỄN TẤN TOÀN THS THÁI THỤY HÀN UYỂN TP HỒ CHÍ MINH, 2021 DANH SÁCH HỘI ĐỒNG BẢO VỆ KHĨA LUẬN Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số ………………… ngày ………………… Hiệu trưởng Trường Đại học Công nghệ Thông tin a ………………………………………… – Chủ tịch b ………………………………………… – Thư ký c ………………………………………… – Ủy viên ĐHQG TP HỒ CHÍ MINH CỘNG HỒ XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC Độc Lập – Tự Do – Hạnh Phúc CÔNG NGHỆ THÔNG TIN TP HCM, ngày 20 tháng 01 năm 2021 NHẬN XÉT KHOÁ LUẬN TỐT NGHIỆP (CỦA CÁN BỘ HƯỚNG DẪN) Tên khoá luận: NGHIÊN CỨU VÀ XÂY DỰNG HỆ THỐNG KHUYẾN NGHỊ SẢN PHẨM NHẬP KHO Nhóm SV thực hiện: Cán hướng dẫn: Nguyễn Tiến Dũng 16520259 Thạc sĩ: Nguyễn Tấn Toàn Nguyễn Việt Tiến 16521233 Thạc sĩ: Thái Thụy Hàn Uyển Đánh giá khoá luận: Về báo cáo: Số trang: … Số chương: … Số bảng số liệu: … Số hình vẽ: … Số tài liệu tham khảo: … Sản phẩm: … Một số nhận xét hình thức báo cáo: ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… Về nội dung nghiên cứu: ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… Về chương trình ứng dụng: ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… Về thái độ làm việc sinh viên: ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… Đánh giá chung: ····································································································· ····································································································· ····································································································· ····································································································· Điểm sinh viên: Nguyễn Tiến Dũng: /10 Nguyễn Việt Tiến: /10 Người nhận xét (Ký tên ghi rõ họ tên) ThS Nguyễn Tấn Tồn ĐHQG TP HỒ CHÍ MINH CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC Độc Lập – Tự Do – Hạnh Phúc CÔNG NGHỆ THÔNG TIN TP HCM, ngày 22 tháng 01 năm 2021 NHẬN XÉT KHOÁ LUẬN TỐT NGHIỆP (CỦA CÁN BỘ PHẢN BIỆN) Tên khoá luận: NGHIÊN CỨU VÀ XÂY DỰNG HỆ THỐNG KHUYẾN NGHỊ SẢN PHẨM NHẬP KHO Nhóm SV thực hiện: Cán phản biện: Nguyễn Tiến Dũng 16520259 Nguyễn Việt Tiến 16521233 Đánh giá khoá luận: Về báo cáo: Số trang … Số chương … Số bảng số liệu … Số hình vẽ … Số tài liệu tham khảo … Sản phẩm … Một số nhận xét hình thức báo cáo: …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… Về nội dung nghiên cứu: ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… Về chương trình ứng dụng: ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… Về thái độ làm việc sinh viên: …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… Đánh giá chung: Khóa luận đạt / khơng đạt u cầu khóa luận tốt nghiệp kỹ sư / cử nhân, xếp loại Giỏi / Khá / Trung bình Điểm sinh viên: Nguyễn Tiến Dũng: /10 Nguyễn Việt Tiến: /10 Người nhận xét (Ký tên ghi rõ họ tên) LỜI CẢM ƠN Sau 4.5 năm học tập rèn luyện Trường Đại Học Công Nghệ Thông Tin, bảo giảng dạy nhiệt tình quý thầy cô, đặc biệt quý thầy cô khoa Công Nghệ Phần Mềm, chúng em học tập nhiều kiến thức bổ ích lý thuyết thực hành thời gian qua Trong khoảng thời gian thực luận văn tốt nghiệp, chúng em học hỏi thêm nhiều kiến thức, kinh nghiệm để áp dụng hoàn thành luận văn tốt nghiệp chúng em Xin chân thành cảm ơn quý thầy cô Khoa Công Nghệ Phần mềm, đặc biệt thầy Nguyễn Tấn Tồn tận tình hướng dẫn chúng em hồn thành luận văn tốt nghiệp Bên cạnh đó, lần xin cảm ơn nhóm bạn lớp làm khóa luận động viên, thảo luận góp ý cho nhóm đồng thời khơi thêm nguồn động lực cho nhóm để tiếp thêm động lực cho nhóm giai đoạn đầy khó khăn Ngồi ra, chúng em cảm ơn anh, chị, bạn bè gia đình giúp đỡ tạo điều kiện cho chúng em hoàn tất luận văn Mặc dù cố gắng, nhiên khả giới hạn nên khơng tránh khỏi sai sót, chúng em mong nhận thơng cảm góp ý chân tình từ q thầy bạn Một lần xin chân thành cảm ơn người Thành phố Hồ Chí Minh, tháng 01 năm 2021 Nguyễn Tiến Dũng Nguyễn Việt Tiến ĐHQG TP HỒ CHÍ MINH CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC Độc Lập – Tự Do – Hạnh Phúc CÔNG NGHỆ THÔNG TIN ĐỀ CƯƠNG CHI TIẾT TÊN ĐỀ TÀI: Nghiên cứu xây dựng hệ thống khuyến nghị sản phẩm nhập kho (Researching and building a recommendation system of products for warehousing) Cán hướng dẫn: ThS Nguyễn Tấn Toàn, ThS Thái Thụy Hàn Uyển Thời gian thực hiện: Từ ngày 07/09/2020 đến ngày 11/01/2021 Sinh viên thực hiện: Nguyễn Tiến Dũng 16520259 Nguyễn Việt Tiến 16521233 Nội dung đề tài: Khảo sát trạng: Hiện nước ta, hệ thống ERP (Enterprise resource planning) hỗ trợ quản lý kho hàng phát triển nhiều mặt số lượng chất lượng Với ERP, người dùng cải tiến chuẩn hóa luồng cơng việc, q trình sai sót mắc phải q trình làm việc khắc phục dễ dàng Tuy nhiên hệ thống ERP thực tốt thao tác liên quan đến nghiệp vụ quản lý, nâng cao tính đồng chuẩn hóa quy trình mà chưa có nhiều sản phẩm dự đốn đưa khuyến nghị cho doanh nghiệp, đặc biệt doanh nghiệp bán lẻ với quy mô vừa nhỏ So sánh với hệ thống ERP tương tự sử dụng nhiều: Tên sản phẩm Ưu điểm bật Nhược điểm Sapo Sapo POS Chưa có dự quản đốn đưa lý đồng thời chuỗi cửa hàng, đặc khuyến biệt việc doanh phân chia quyền nghiệp nghị cho chi nhánh Ecount Quản lý hàng hóa đơn Chưa có dự giản, tiện lợi, cho đốn đưa phép chủ cửa hàng khuyến nhập số lượng, màu doanh sắc, mẫu mã, chất nghiệp liệu sản phẩm khơng giới hạn nghị cho Nhanh.vn • Báo cáo biến Tính dự báo động kho hàng nhập hàng thực • Báo cáo tình hình dựa tổng số hàng hóa: đặt lượng bán gần hàng, chưa đặt không sử dụng hàng, chờ mơ hình dự báo cho duyệt việc đưa kết • Tình hình hàng lỗi, hàng chuyển kho,… Khi nhóm tiến hành tìm hiểu nghiên cứu toán liên quan đưa báo khoa học, có giải pháp xây dựng hệ thống khuyến nghị đưa như: Dựa Kho liệu hoạt động với tài liệu văn [1] , Nghiên cứu phân tích hệ thống đề xuất cho mạng xã hội dựa vị trí (LBSN) với liệu lớn [2] , Dự báo nhu cầu gián đoạn giảm hàng tồn kho cách sử dụng phương pháp tiếp cận ARIMA Bayesian[3], … Các giải pháp đưa cho toán tương tự cơng trình nghiên cứu khoa học đa phần tập trung vào doanh nghiệp với quy mô lớn, liệu tổ chức phức tạp phân cấp theo nhiều lớp Các mô hình áp dụng đa phần để phục vụ cho việc dự báo tăng trưởng doanh nghiệp, số theo dõi trình dự báo thường mang tính chất vĩ mơ (tổng số vốn, tổng số doanh thu dự kiến, phần trăm tăng trưởng, …) Với doanh nghiệp có quy mơ vừa nhỏ, hệ thống khuyến nghị nhập kho mặt hàng cần thiết đáp ứng nhu cầu khách hàng có quan tâm lớn, việc mua bán mặt hàng nước ta mang tính thời vụ cao Vì vậy, việc đưa hệ thống khuyến nghị giúp cho doanh nghiệp sử dụng tiết kiệm chi phí, đồng thời nâng cao doanh số bán hàng tăng thêm doanh thu Mục tiêu: nghiên cứu xây dựng hệ thống dự đoán đưa khuyến nghị cho doanh nghiệp việc nhập kho mặt hàng cần thiết đáp ứng nhu cầu khách hàng, từ giúp doanh nghiệp sử dụng tiết kiệm chi phí, đồng thời nâng cao doanh số bán hàng tăng thêm doanh thu Phạm vi: Hệ thống khuyến nghị, đề xuất nhập kho sản phẩm sử dụng doanh nghiệp bán lẻ với mơ hình kinh doanh: bán hàng trực tiếp Hỗ trợ cho doanh nghiệp việc lên kế hoạch nhập kho mặt cần thiết khoảng thời gian tới, từ giúp doanh nghiệp bán nhiều sản phẩm Hệ thống dựa vào liệu thu thập từ khứ, để đưa danh sách khuyến nghị nhập kho mặt hàng cần thiết để phù hợp với thời điểm Đối tượng: Các doanh nghiệp lĩnh vực kinh doanh bán lẻ phân phối sản phẩm, thường xuyên nhập hàng hóa với số lượng lớn để bán thị trường điệp đến mạng kế thừa Hình 3.16– RNN “trải ra” Chuỗi đầu vào x0, x1, , xt kiện xảy theo thứ tự thời gian Những kiện có mối liên hệ thơng tin với thông tin chúng giữ lại để xử lý kiện RNN Vì tính chất RNN phù 38 hợp cho toán với liệu đầu vào dạng chuỗi với kiện chuỗi có mối liên hệ với 3.5.3 Bộ nhớ dài hạn-ngắn hạn LSTM (Long short-term memory) 3.5.3.1 Vấn đề phụ thuộc xa Kiến trúc Recurrent Neural Network (RNN) sinh để giải tốn có liệu Tuy vậy, kiến trúc đơn giản nên khả liên kết thành phần có khoảng cách xa khơng tốt Vì thế, bạn xử lý đoạn văn dùng RNN, bỏ qua chi tiết đầu đoạn văn lí nhớ có hạn Hình 3.17– RNN phụ thuộc xa Ngun nhân việc RNN chịu ảnh hưởng việc gradient bị thấp dần trình học(vanishing gradient) Gradient lại thành phần quan trọng bậc việc huấn luyện model Vì giá trị gradient tạo thành phần phía đầu đoạn văn trở nên q nhỏ, khơng đóng góp cho việc học model 3.5.3.2 Giải pháp Quan sát nhược điểm RNN, ta nhận thấy kiến trúc khơng có chế lọc thông tin không cần thiết Bộ nhớ kiến trúc có hạn, lưu tất chi tiết khơng cần thiết dẫn đến q tải, từ quên thứ xa khứ Về lý thuyết, RNN hồn tồn có khả xử lý phụ thuộc dài hạn 39 vậy, thực tế, RNN tiếp cận với cách học Và vấn đề tìm cách giải Hochreiter (1991) [German] [1] Bengio, et al (1994) [2] Một đơn vị LSTM thông thường bao gồm tế bào (cell), cổng vào (input gate), cổng (output gate) cổng quên (forget gate) Tế bào ghi nhớ giá trị khoảng thời gian bất ý ba cổng điều chỉnh luồng thơng tin ra/vào tế bào Hình 3.18– LSTM Như hình trên, thấy module kiến trúc có trang bị cổng (gate) Nhiệm vụ cổng giúp kiến trúc đánh giá mức độ quan trọng thơng tin, từ đưa định giữ lại hay bỏ Nhờ chế này, thông tin quan trọng truyền xa có tác động đáng kể tương lai xa 3.5.3.3 Phân tích Hãy bắt đầu với thí nghiệm nhỏ Cho bạn mua hộp ngũ cốc mạng, đương nhiên bạn muốn đọc review sản phẩm trước mua để xem có thực đáng đồng tiền hay khơng 40 Hình 3.19– Ví dụ đoạn text reivew sản phẩm Khi bạn đọc nhận xét người khác, não bạn tiềm thức bỏ qua từ không mang nhiều ý nghĩa, trường hợp this, as etc Bạn tập trung tìm từ nhiều ý nghĩa nhận xét perfectly, definitely Khi hỏi bạn review này, bạn chắn chế review dựa keyword Những từ khác gần trôi sau bạn đọc xong review Đó chế hoạt động LSTM: nhớ thơng tin liên quan cho việc dự đốn, thơng tin khác bỏ Để hiểu rõ kiến trúc làm điều đó, nên dành chút thời gian để hiểu chế hoạt động kiến trức RNN nói chung Đầu tiên, từ câu biến đổi thành vector sau RNN xử lý chuỗi vector từ Hình 3.20– RNN xử lý chuỗi vector 41 Trong lúc xử lý, RNN đưa thông tin trạng thái ẩn (hidden state) tính tốn tính tốn q khứ (w_[t-2], w_[t-1], vv) thành đầu vào cho trình xử lý (w_[t]) Trạng thái ẩn mang thông tin từ từ trước để truyền lại cho từ Đây chế giúp RNN xử lý liệu tuần tự: từ phía trước ảnh hưởng đầu từ phía sau Hình 3.21– RNN xử lý liệu Bây nhìn mộ cách chi tiết RNN tính tốn trạng thái ẩn Trước hết, vector từ trạng thái ẩn từ phía trước kết hợp lại, phép concatenation Vector tổng sau qua hàm Có thể thấy tất thơng tin từ phía trước dồn vào trạng thái ẩn, rõ ràng nút thắt Hình 3.22– Vector tổng qua hàm Hàm kích hoạt dùng để điều chỉnh dịng thơng tin qua hệ thống Mọi giá trị chiếu khoảng (-1, 1) Khi vector qua mạng neuron, chúng trải qua nhiều phép tính q trình có thành phần trở 42 nên to khiến thành phần khác trở nên không đáng kể Hàm lúc giúp tinh chỉnh chênh lệch Hình 3.23– Cơ cách hoạt động RNN 3.5.3.4 Mạng LSTM LSTM có chế hoạt động dựa RNN có số thay đổi cell Hình 3.24– RNN & LSTM Như tóm tắt trên, LTSM có cổng giúp lọc thơng tin Trạng thái cell coi trí nhớ toàn hệ thống Muốn cập vào hệ thống này, thành phần thông tin phải qua cổng Vậy thấy chế linh hoạt mà thành phần thông tin chọn lọc đưa vào nhớ, nhờ thành phần có ích từ thời điểm lâu khứ có tác dụng điều chỉnh Trong LSTM sử dùng hàm signoid, hàm có tác dụng hàm tanh, vùng chiếu (0–1) thay (-1 - 1) Nếu phần thông tin không quan trọng, ta chiếu 0, coi bị "lãng quên" 43 Hình 3.25– Hàm Sigmoid LSTM 3.5.3.5 Các cổng LSTM Cổng quên: Cổng định xem thông tin nhớ giữ thông tin bị bỏ lại Thông tin đầu vào cho vào hàm signoid Đầu hàm đóng vai trị mask để lọc thơng tin từ trạng thái cell Cổng vào: Cổng dùng để cập nhật nhớ với thông tin Ở có xuất hàm sigmoid hàm Tác dụng chúng Output từ hàm sigmoid có tác dụng lọc thơng tin qua xử lý từ output hàm Nhờ cổng trên, ta tính tốn giá trị trạng thái cell tại, từ truyền cho từ phía sau Cổng ra: cổng định output từ Nó lấy thơng tin từ nguồn: trạng thái cell input Trạng thái cell sau chỉnh sửa qua hàm input qua hàm sigmoid Từ ta kết hợp kết để có kết đầu Chú ý kết đầu trạng thái cell đưa vào bước 44 Hình 3.26– Các cổng LSTM Đó tổng quan LSTM thực Lọc nhớ tại, chắt lọc thông tin để đưa vào nhớ kết hợp nhớ liệu để đưa đầu 3.6 Thuật toán Apriori khai phá luật kết hợp 3.6.1 Luật kết hợp khai phá liệu (Association Rule in Data Mining) Bài toán giỏ mua hàng siêu thị: Giả định có nhiều mặt hàng, ví dụ “bánh mì”, “sữa”, Khi khách hàng siêu thị bỏ vào giỏ mua hàng họ số mặt hàng đó, việc muốn tìm hiểu khách hàng thường mua mặt hàng đồng thời, không cần biết khách hàng cụ thể Nhà quản lý dùng thông tin để điều chỉnh việc nhập hàng siêu thị, hay đơn giản để bố trí xếp mặt hàng gần nhau, bán mặt hàng theo gói hàng, giúp cho khắc đỡ cơng tìm kiếm Khai phá luật kết hợp mô tả tương quan kiện kiện xuất thường xuyên đồng thời Nhiệm vụ khai phá luật kết hợp phát tập xuất khối lượng giao dịch lớn sở liệu cho trước 45 Định nghĩa luật kết hợp: Cho I = {I1, I2, … , Im} tập hợp m tính chất riêng biệt Giả sử D sở liệu với ghi chứa tập T tính chất (có thể coi T ⊆ I) , ghi có số riêng Một luật kết hợp mệnh đề kéo theo có dạng: X →Y, X,Y ⊆ I thỏa mãn điều kiện X ∩ Y = ∅ Các tập hợp X Y gọi tập hợp tính chất (itemset) Tập X gọi nguyên nhân, tập Y gọi hệ Có độ đo quan trọng luật kết hợp: Độ hỗ trợ (support) độ tin cậy (confidence), định nghĩa phần 12 Độ hộ trợ (Support): Độ hỗ trợ luật kết hợp X→Y tỷ lệ số lượng ghi chứa tập hợp X ∪ Y, so với tổng số ghi D, ký hiệu supp(X→Y) supp(X→Y) = |{T ⊂ D ∶ Y ⊃ X}| |D| Khi nói độ hỗ trợ luật 50%, có nghĩa có 50% tổng số ghi chứa X ∪ Y Như vậy, độ hỗ trợ mang ý nghĩa thống kê luật 13 Độ tin cậy (Conffidence): Độ tin cậy luật kết hợp X→Y tỷ lệ số lượng ghi tập hợp chứa X ∪ Y, so với tổng số ghi chứa X Ký hiệu độ tin cậy luật conf(r) Ta có < conf(r) < conf (X→Y) = P(Y/X) = supp(X∪Y) / supp(X) 14 Tập thường xuyên (Frenquent itemset): Tập hợp X gọi tập thường xuyên có supp(X) minsup với minsup ngưỡng độ hỗ trợ thấp ho trước Kí hiệu tập FI 15 Tập k – itemset: Nếu itemset chứa k phần tử gọi tập k itemset 46 Khai phá luật kết hợp công việc phát hiện(tìm ra, khám phá, phát hiện) luật kết hợp thỏa mãn ngưỡng độ hỗ trợ (δ) ngưỡng độ tin cậy (α) cho trước 3.6.2 Thuật toán Apriori Input: I, D, δ,α Output: Các luật kết hợp thỏa mãn ngưỡng độ hỗ trợ δ, ngưỡng độ tin cậy α • Tìm tất tập 1-itemset – Được gọi tập C 1(tập ứng viên) • Tạo tập ứng viên kích thước k-hạng mục (k – candidate itemset) từ tập phổ biến có kích thước (k-1)-hạng mục Ví dụ, tạo ứng viên C2 từ tập phổ biến C1 • Kiểm tra độ phổ biến ứng viên D loại ứng viên không phổ biến ta Li (i = {1, 2, , k}) • Dừng khơng tạo tập phổ biến hay tập ứng viên L k= {} hay Ck = {} Hình 3.27 – Sơ đồ thuật tốn Apriori 3.7 Flask micro web framework Python ngày chứng minh ưu việc xây dựng triển khai nhiều loại ứng dụng khác web application, phân tích thống kê, Machine 47 Leaning, Deep Learning… Đó nhanh chóng, mạnh mẽ, thân thiện, thực thi nơi hồn tồn miễn phí Trong phát triển ứng dụng web, Python có nhiều framework hỗ trợ lập trình viên Flask, Django, Tornado, Pyramid,… Tuy nhiên, khn khổ đề tài khóa luận kết hợp với yêu cầu hệ thống, có lẽ phù hợp framework nhỏ, gọn, cấu trúc dễ hiểu, dễ học, dễ code, dễ triển khai Và Flask “ứng cử viên sáng giá” đáp ứng đủ tiêu chí Hình 3.28 – Flask micro web framework Những ưu điểm Flask: • Flask micro web framework: Flask không yêu cầu tool hay thư viện cụ thể “Micro” nghĩa thiếu chức mà “micro” theo triết lý thiết kế cung cấp lõi chức “súc tích” cho ứng dụng web người dùng mở rộng lúc Flask ln hỗ trợ thành phần tiện ích mở rộng cho ứng dụng tích hợp sở liệu, xác thực biểu mẫu, xử lý upload, công nghệ xác thực, template, email, RESTful , khác bạn muốn bạn đưa vào thơi Người dùng tập trung xây dựng web application từ đầu khoảng thời gian ngắn phát triển quy mô ứng dụng tùy theo yêu cầu • Flask dễ cài đặt triển khai, có kiến trúc nhỏ gọn, dễ cấu trúc: Fask Framework lưu trữ giúp lập trình viên tạo trang web dễ dàng hơn, mở rộng, hiệu bảo trì cách cung cấp code tiện ích mở rộng sử dụng lại cho nhiệm vụ phổ biến 48 • Flask phù hợp cho việc xây dựng web application có quy mơ vừa nhỏ, API web services: o Xây dựng web application giống với việc viết module Python chuẩn, cấu trúc gọn gàng rõ ràng o Thay cung cấp hết tất thứ, Flask cung cấp cho người dùng thành phần cốt lõi thường sử dụng khung ứng dụng web URL routing, request & response object, template o Với Flask, việc chọn component cho ứng dụng việc Điều thật tuyệt, web application có đặc điểm tính riêng, khơng phần phải chứa component mà khơng dùng 3.8 JWT authentication 3.8.1 JWT (JSON Web Tokens) JSON Web Token (JWT) chuẩn mở (RFC 7519) định nghĩa cách nhỏ gọn khép kín để truyền cách an tồn thơng tin bên dạng đối tượng JSON Thơng tin xác minh đáng tin cậy có chứa chữ ký số JWTs ký thuật tốn bí mật (với thuật toán HMAC) public / private key sử dụng mã hoá RSA Nguồn gốc ban đầu JWT chuỗi JSON, sau mã hóa trở thành chuỗi ký tự khó nhận biết Ví dụ JWT : eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3OD kwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxw RJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c JWT bao gồm phần: Header, Payload Signature liên kết với theo cấu trúc sau: .< base64-endcoded playload>.< HMACSHA256(base64-encoded signature)> 49 Hình 3.29 – Cấu trúc JWT 3.8.2 Sử dụng JWT việc xác thực API Ứng dụng nhiều JWT Token, mục đích bạn nên sử dụng JWT dùng chế xác thực API Điều phổ biến sử dụng rộng rãi, kể Google sử dụng JWT để xác thực APIs họ Ý tưởng đơn giản: • User thực login cách gửi id/password hay sử dụng tài khoản mạng xã hội lên phía Authentication Server (Server xác thực) • Authentication Server tiếp nhận liệu mà User gửi lên để phục vụ cho việc xác thực người dùng Trong trường hợp thành công, Authentication Server tạo JWT trả cho người dùng thơng qua response • Người dùng nhận JWT Authentication Server vừa trả làm “chìa khóa” để thực “lệnh” Application Server • Application Server trước thực yêu cầu gọi từ phía User, verify JWT gửi lên Nếu OK, tiếp tục thực yêu cầu gọi 50 Hình 3.30 – Cách thức hoạt động JWT 3.9 React JS Library Hình 3.31 – React JS Library ReactJS thư viện JavaScript mã nguồn mở, Facebook thiết kế nhằm giúp tạo ứng dụng web hấp dẫn, với thời gian ngắn hiệu mà không cần code nhiều Mục tiêu cốt lõi ReactJS nhằm cung cấp hiệu suất làm việc cao có thể, thơng qua việc tập trung component riêng lẻ lại với Thay làm việc tồn ứng dụng web, ReactJS cho phép Developer chia nhỏ cấu trúc UI thành component đơn giản 51 Ngày nay, ReactJS ngày phổ biến tính đơn giản linh hoạt Nhiều người cho rằng, tương lai ngành web development Người ta ước tính có khoảng 1.300 developer 94.000 website sử dụng ReactJS Sự phổ biến ReactJS phần nhờ vào ông trùm công nghệ Facebook, PayPal, Uber, Instagram Airbnb, sử dụng để giải vấn đề liên quan đến UI Từ kéo theo sóng nhiều người cơng ty tiếp tục tin tưởng sử dụng ReactJS React JS trở nên phổ biến lí sau: • ReactJS cho phép Developer viết ứng dụng trực tiếp JavaScript Và JSX tính khơng làm cho ReactJS dễ dàng mà thú vị Developer tạo nên tính xem xuất thời gian thực, giúp Developer đưa trực tiếp đoạn HTML vào JavaScript • Cho phép Developer phá vỡ cấu tạo UI phức tạp thành component độc lập, ý tưởng làm cho ReactJS trở nên độc đáo Thay phải lo lắng tổng thể ứng dụng web, Developer dễ dàng chia nhỏ cấu trúc UI/UX phức tạp thành component đơn giản Điều làm cho thứ trở nên trực quan dễ hình dung so với trước • Thơng qua Props, component kết nối với cách sử dụng data tùy biến Đây ưu điểm bật ReactJS, chuyển liệu tùy biến đến UI component cụ thể • Tính State, giúp điều chỉnh trạng thái cho component (child) nhận data từ component nguồn (parent) Khi sử dụng ReactJS, Developer thay đổi trạng thái cho nhiều component (child) ứng dụng không ảnh hưởng tới component gốc (parent) trạng thái Stateful Với tính này, việc điều chỉnh ứng dụng trở nên đơn giản tất chi tiết lấy nguồn chung (parent) 52 • Dom ảo (Virtual DOM) giúp cho ứng dụng nhanh Khi tạo ReactJS, nhà thiết kế dự đoán việc cập nhật HTML cũ quan trọng tốn chi phí Vì ý tưởng sử dụng DOM ảo giúp ReactJS biết xác cần render lại bỏ phần tử DOM phát thay đổi data Để nâng cao trải nghiệm người dùng UX, cấu trúc UI phải phản ứng kịp thời trước thay đổi, DOM ảo hỗ trợ việc tốt 53 ... quản lý danh sách sản sản phẩm nhập kho Bước 7 :Khuyến nghị sản phẩm nhập kho thực tế có hệ thống Hệ thống dự báo danh sách sản phẩm có phẩm nhập kho tự khả bán chạy khuyến nghị đến người động... Phúc CÔNG NGHỆ THÔNG TIN TP HCM, ngày 22 tháng 01 năm 2021 NHẬN XÉT KHO? ? LUẬN TỐT NGHIỆP (CỦA CÁN BỘ PHẢN BIỆN) Tên kho? ? luận: NGHIÊN CỨU VÀ XÂY DỰNG HỆ THỐNG KHUYẾN NGHỊ SẢN PHẨM NHẬP KHO Nhóm... tiến hành xây dựng chi tiết yêu cầu hệ thống, đề cập phần 2.3 Hệ thống khuyến nghị nhập kho sản phẩm 2.3.1 Xác định toán Nghiên cứu xây dựng hệ thống dự báo mặt hàng bán chạy đưa khuyến nghị cho

Ngày đăng: 05/09/2021, 20:50

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan