CHƯƠNG 1. Java Springboot Spring Boot là framework phát triển ứng dụng Java dựa vào Spring Framework. Nó cung cấp một cách nhanh chóng cũng như dễ dàng để xây dựng các ứng dụng Java enterprise cung cấp các tính năng mạnh mẽ và linh hoạt. Những đặc điểm quan trọng của Spring Boot gồm: + Tự cấu hình: Spring Boot giúp tự động cấu hình ứng dụng của chúng ta một cách thông minh dựa trên các tiêu chuẩn mặc định và cấu hình tự động giúp không cần mất thời gian và công sức để cấu hình chi tiết, điều này sẽ giúp tăng năng suất và giảm thiểu các lỗi cấu hình.
+ Hỗ trợ mạnh mẽ: Spring Boot cung cấp các tính năng hỗ trợ mạnh mẽ cho việc phát triển ứng dụng, bao gồm hỗ trợ cho các cơ sở dữ liệu, truy cập dữ liệu, bảo mật, giao tiếp RESTful, và nhiều hơn nữa. Điều này giúp làm giảm thời gian cũng như công sức cần thiết để triển khai các tính năng phổ biến trong ứng dụng. + Tích hợp dễ dàng: Spring Boot hỗ trợ tích hợp dễ dàng với những công nghệ và framework phổ biến khác như Hibernate, JPA, Thymeleaf và AngularJS. Điều này giúp bạn xây dựng các ứng dụng phức tạp một cách khá dễ dàng và nhanh chóng bằng cách sử dụng những công nghệ đã được chứng minh và phát triển rộng rãi.
+ DevOps tốt: Spring Boot hỗ trợ những công cụ và kỹ thuật liên quan đến DevOps như tạo gói triển khai (executable JAR hoặc WAR), quản lý cấu hình bằng cách dùng các file properties hoặc YAML, và tích hợp tốt với những nền tảng như Docker và Kubernetes. Điều này giúp đơn giản hóa quy trình triển khai cũng như quản lý ứng dụng trong môi trường sản xuất. Spring Boot cung cấp một cách khá nhanh chóng và hiệu quả để phát triển ứng dụng Java, giúp làm giảm bớt công sức và thời gian cấu hình. Với tính năng tự cấu hình, hỗ trợ mạnh mẽ và tích hợp dễ dàng, Spring Boot là một sự lựa chọn khá phổ biến cho việc xây dựng các ứng dụng Java mạnh mẽ và linh hoạt.
SQL Server SQL Server 2019 là hệ quản trị cơ sở dữ liệu quan hệ mạnh mẽ và phổ biến được phát triển bởi Microsoft cung cấp một loạt các tính năng và công cụ để lưu trữ, truy xuất và quản lý dữ liệu. Dưới đây là một vài điểm quan trọng về SQL Server 2019: + Quản lý dữ liệu: SQL Server 2019 cho phép chúng ta tạo, sửa đổi và xóa cơ sở dữ liệu, bảng, khóa và ràng buộc. Nó cung cấp những công cụ quản lý mạnh mẽ như SQL Server Management Studio (SSMS) để giúp bạn thao tác với cơ sở dữ liệu một cách dễ dàng và hiệu quả. + Ngôn ngữ truy vấn: SQL Server 2019 sử dụng ngôn ngữ truy vấn SQL (Structured Query Language) cho việc truy xuất và thao tác dữ liệu.
SQL cung cấp những câu lệnh như SELECT, INSERT, UPDATE và DELETE để truy vấn và thay đổi dữ liệu trong cơ sở dữ liệu. Ngoài ra, SQL Server 2019 hỗ trợ một vài tính năng mở rộng như xử lý dữ liệu không gian và truy vấn JSON. + Tính bảo mật: SQL Server 2019 cung cấp cho chúng ta những tính năng bảo mật mạnh mẽ để bảo vệ dữ liệu. Hỗ trợ quản lý quyền truy cập, mã hóa dữ liệu và kiểm soát truy cập người dùng.
SQL Server 2019 cũng cung cấp các công cụ giám sát và xác minh để theo dõi hoạt động và phát hiện các vấn đề bảo mật. + Khả năng mở rộng: SQL Server 2019 cho phép chúng ta mở rộng khả năng lưu trữ và xử lý dữ liệu. Nó hỗ trợ khái niệm về cơ sở dữ liệu phân tán và có thể tích hợp với những công nghệ như lưu trữ đám mây và cụm máy chủ (server cluster). Điều này giúp bạn mở rộng và mở rộng cơ sở dữ liệu của mình để đáp ứng yêu cầu và tải công việc ngày càng lớn.
SQL Server 2019 là hệ quản trị cơ sở dữ liệu mạnh mẽ, đáng tin cậy và phổ biến trong việc lưu trữ và quản lý dữ liệu. Với tính năng quản lý dữ liệu, ngôn ngữ truy vấn mạnh mẽ, tính bảo mật và khả năng mở rộng, nó là một lựa chọn phổ biến cho việc xây dựng và quản lý các ứng dụng dựa trên cơ sở dữ liệu. HTML, CSS, Ant-Design HTML và CSS là hai ngôn ngữ cơ bản trong việc xây dựng giao diện web. HTML (HyperText Markup Language) là ngôn ngữ đánh dấu để xác định cấu trúc cũng như nội dung của một website, trong khi CSS (Cascading Style Sheets) được sử dụng để kiểm soát kiểu dáng và định dạng của những phần tử HTML.
13 HTML đóng vai trò quan rất trọng trong việc xây dựng cấu trúc một trang web, sử dụng các thẻ để định nghĩa những phần tử và khối của trang web, chẳng hạn như tiêu đề, đoạn văn bản, hình ảnh, liên kết và các phần tử khác. HTML cung cấp cấu trúc cơ bản cho website và là ngôn ngữ mà trình duyệt hiểu và hiển thị. Css sử dụng kết hợp với HTML, cho phép tùy chỉnh kiểu dáng và bố cục của trang web sử dụng những quy tắc và thuộc tính để áp dụng màu sắc, font chữ, độ rộng, độ cao, đường viền và nhiều thuộc tính khác cho các phần tử HTML. CSS giúp tạo ra giao diện hấp dẫn và linh hoạt cho trang web.
Ant Design là thư viện UI được phát triển bởi Ant Design Team, cung cấp các thành phần giao diện người dùng (UI components) có sẵn và thiết kế theo nguyên tắc thiết kế Ant Design cung cấp một tập hợp những thành phần giao diện sẵn có như nút, biểu mẫu, bảng, menu và nhiều hơn nữa, giúp xây dựng giao diện website một cách nhanh chóng và dễ dàng. Ant Design không chỉ mang lại giao diện thẩm mỹ và chuyên nghiệp, mà còn cung cấp những thành phần tương tác và điều hướng tiện ích. Hỗ trợ các tính năng như responsive design (thiết kế đáp ứng), hỗ trợ đa ngôn ngữ và có một cộng đồng phong phú với nhiều tài liệu và ví dụ hướng dẫn sử dụng. Kết hợp HTML CSS và Ant Design giúp xây dựng giao diện web chất lượng cao, hấp dẫn và dễ bảo trì.
HTML định nghĩa cấu trúc, CSS kiểm soát kiểu dáng, và Ant Design cung cấp những thành phần giao diện người dùng sẵn có để sử dụng và tùy chỉnh theo nhu cầu 1. ReactJS ReactJS là thư viện JavaScript phát triển bởi Facebook, được dùng để xây dựng giao diện người dùng (UI) động cũng như tương tác trên những ứng dụng web. ReactJS tập trung vào việc xây dựng các thành phần UI tái sử dụng, và sử dụng cách tiếp cận gọi là "one-way data flow" (dòng dữ liệu một chiều) để quản lý và cập nhật giao diện.[2] ReactJS sử dụng các thành phần nhằm để xây dựng giao diện người dùng. Mỗi thành phần sẽ đại diện cho một phần nhỏ của giao diện và có thể tái sử dụng trong nhiều nơi khác nhau.
Thành phần trong ReactJS được dựng nên bằng cách sử dụng cú pháp JSX, cho phép kết hợp mã JavaScript và HTML một cách linh hoạt. ReactJS dùng một cấu trúc dữ liệu là Virtual DOM (DOM ảo) để quản lý giao diện người dùng. Virtual DOM là một phiên bản nhẹ của DOM thật, được lưu trữ trong bộ 14 nhớ và cập nhật khi có sự thay đổi. Khi dữ liệu thay đổi, React so sánh Virtual DOM mới với phiên bản cũ, tìm ra sự khác biệt và chỉ cập nhật các thành phần cần thiết trên DOM thật Trong ReactJS, dữ liệu di chuyển theo hướng một chiều từ thành phần cha đến thành phần con.
Thay đổi dữ liệu trong thành phần cha sẽ lan truyền xuống các thành phần con. Điều này sẽ giúp duy trì tính nhất quán của dữ liệu và giúp dễ dàng theo dõi và quản lý trạng thái của ứng dụng. Json web token JSON Web Token (JWT) là tiêu chuẩn mở được thiết kế để đơn giản hóa quá trình xác thực cũng như truyền thông tin giữa các bên trong môi trường phân tán. JWT sử dụng định dạng dữ liệu JSON để đóng gói thông tin và tận dụng tính bảo mật của chữ ký số nhằm đảm bảo tính toàn vẹn của dữ liệu.
Một JWT gồm ba phần chính: Header, Payload, và Signature. Header sẽ chứa thông tin về loại token và thuật toán mã hóa, trong khi Payload chứa những thông tin cụ thể về đối tượng được xác thực và các quyền hạn của nó. Phần Signature được tạo ra bằng cách ký đi thông tin trong Header và Payload bằng một loại khóa bí mật, giúp đảm bảo rằng token không bị thay đổi trong quá trình truyền tải.[4] JWT thường được sử dụng trong những ứng dụng web và dịch vụ web API để xác thực người dùng và quản lý quyền hạn truy cập. Khi người dùng đăng nhập thành công, hệ thống sẽ tạo ra một JWT và trả về cho họ.
Người dùng có thể sử dùng JWT này để truy cập các tài nguyên bảo vệ mà không cần phải gửi lại thông tin đăng nhập trong mỗi yêu cầu. Sự linh hoạt và đơn giản của JWT đã làm cho nó biến thành một công cụ quan trọng trong việc xây dựng các hệ thống an toàn và phân tán. Tuy nhiên, quản lý chu kỳ sống và xác thực an toàn của khóa là các yếu tố quan trọng cần được quản lý cẩn thận nhằm đảm bảo tính bảo mật cho hệ thống.IO là thư viện JavaScript giúp xây dựng ứng dụng web thời gian thực thông qua việc triển khai giao tiếp hai chiều (bidirectional) giữa máy khách (client) và máy chủ (server) thông qua các kết nối WebSocket. Được tạo ra để giải quyết nhược điểm của WebSocket, Socket.IO là một lớp trừu tượng hóa giúp xử lý sự không đồng bộ, hỗ trợ nhiều trình duyệt và điều kiện mạng khác nhau.IO tận dụng các khả năng của WebSocket nhưng có thêm tính năng chia sẻ dữ liệu thời gian thực một cách dễ dàng thông qua sự kiện (event) giữa máy khách và máy chủ.
Một trong các đặc điểm quan trọng chính là khả năng tự động chọn lựa giữa WebSocket, AJAX long polling, và các phương thức giao tiếp khác tùy thuộc vào khả năng hỗ trợ của trình duyệt và máy chủ. Ứng dụng phổ biến của Socket.IO bao gồm các ứng dụng chat trực tuyến, bảng điều khiển thời gian thực, và những ứng dụng đa người chơi trực tuyến. Việc sử dụng Socket.IO giúp làm đơn giản hóa quá trình phát triển ứng dụng web thời gian thực và mang đến trải nghiệm người dùng mượt mà và linh hoạt. Service (Amazon) Amazon Web Services (AWS) là nền tảng điện toán đám mây hàng đầu được cung cấp bởi Amazon.
Nó cung cấp hàng loạt các dịch vụ đám mây linh hoạt và mạnh mẽ để xây dựng, triển khai cũng như quản lý các ứng dụng và dịch vụ trực tuyến.